jetspeedsecurity.java
来自「jetspeed源代码」· Java 代码 · 共 842 行 · 第 1/2 页
JAVA
842 行
}
/**
* @see GroupManagement#addGroup
*/
public static void addGroup(Group group)
throws JetspeedSecurityException
{
JetspeedGroupManagement.addGroup(group);
}
/**
* @see GroupManagement#saveGroup
*/
public static void saveGroup(Group group)
throws JetspeedSecurityException
{
JetspeedGroupManagement.saveGroup(group);
}
/**
* @see GroupManagement#removeGroup
*/
public static void removeGroup(String groupname)
throws JetspeedSecurityException
{
JetspeedGroupManagement.removeGroup(groupname);
}
/**
* @see GroupManagement#joinGroup
*/
public static void joinGroup(String username, String groupname)
throws JetspeedSecurityException
{
JetspeedGroupManagement.joinGroup(username,groupname);
}
/**
* @see GroupManagement#joinGroup(String username, String groupname, String rolename)
*/
public static void joinGroup(String username, String groupname, String rolename)
throws JetspeedSecurityException
{
JetspeedGroupManagement.joinGroup(username,groupname,rolename);
}
/**
* @see GroupManagement#revokeGroup
*/
public static void unjoinGroup(String username, String groupname)
throws JetspeedSecurityException
{
JetspeedGroupManagement.unjoinGroup(username,groupname);
}
/**
* @see GroupManagement#revokeGroup(String username, String groupname, String rolename)
*/
public static void unjoinGroup(String username, String groupname, String rolename)
throws JetspeedSecurityException
{
JetspeedGroupManagement.unjoinGroup(username,groupname,rolename);
}
/**
* @see GroupManagement#inGroup
*/
public static boolean inGroup(String username, String groupname)
throws JetspeedSecurityException
{
return JetspeedGroupManagement.inGroup(username,groupname);
}
/**
* @see GroupManagement#getGroup
*/
public static Group getGroup(String groupname)
throws JetspeedSecurityException
{
return JetspeedGroupManagement.getGroup(groupname);
}
//////////////////////////////////////////////////////////////////////////
//
// Required JetspeedSecurity Functions
//
// Required Features provided by default JetspeedSecurity
//
//////////////////////////////////////////////////////////////////////////
/**
* @see JetspeedSecurityService#getUserInstance
*/
public static JetspeedUser getUserInstance()
{
return ((JetspeedSecurityService)getService()).getUserInstance();
}
//////////////////////////////////////////////////////////////////////////
//
// Optional JetspeedSecurity Features
//
// Features are not required to be implemented by Security Provider
//
//////////////////////////////////////////////////////////////////////////
/**
* @see JetspeedSecurityService#convertUserName
*/
public static String convertUserName(String username)
{
return ((JetspeedSecurityService)getService()).convertUserName(username);
}
/**
* @see JetspeedSecurityService#convertPassword
*/
public static String convertPassword(String password)
{
return ((JetspeedSecurityService)getService()).convertPassword(password);
}
/**
* @see JetspeedSecurityService#checkDisableAcccount
*/
public static boolean checkDisableAccount(String username)
{
return ((JetspeedSecurityService)getService()).checkDisableAccount(username);
}
/**
* @see JetspeedSecurityService#isDisableCountCheckEnabled
*/
public static boolean isDisableAccountCheckEnabled()
{
return ((JetspeedSecurityService)getService()).isDisableAccountCheckEnabled();
}
/**
* @see JetspeedSecurityService#resetDisableAccountCheck
*/
public static void resetDisableAccountCheck(String username)
{
((JetspeedSecurityService)getService()).resetDisableAccountCheck(username);
}
/**
* @see JetspeedSecurityService#areActionsDisabledForAnon
*/
public static boolean areActionsDisabledForAnon()
{
return ((JetspeedSecurityService)getService()).areActionsDisabledForAnon();
}
/**
* @see JetspeedSecurityService#areActionsDisabledForAllUsers
*/
public static boolean areActionsDisabledForAllUsers()
{
return ((JetspeedSecurityService)getService()).areActionsDisabledForAllUsers();
}
/*
* @see JetspeedSecurityService#getAnonymousUserName
*/
public static String getAnonymousUserName()
{
return ((JetspeedSecurityService)getService()).getAnonymousUserName();
}
/*
* @see JetspeedSecurityService#getAdminRoles
*/
public static List getAdminRoles()
{
return ((JetspeedSecurityService)getService()).getAdminRoles();
}
/*
* @see JetspeedSecurityService#hasAdminRole
*/
public static boolean hasAdminRole(User user)
{
return ((JetspeedSecurityService)getService()).hasAdminRole(user);
}
//////////////////////////////////////////////////////////////////////////
//
// PortalAuthorization - Helpers
//
/////////////////////////////////////////////////////////////////////////
/**
* @see JetspeedSecurityService#checkPermission
*/
public static boolean checkPermission(JetspeedRunData runData, String action, Portlet portlet)
{
return checkPermission(runData.getJetspeedUser(), portlet, action);
}
/**
* @see JetspeedSecurityService#checkPermission
*/
public static boolean checkPermission(JetspeedRunData runData, String action, RegistryEntry entry)
{
return checkPermission(runData.getJetspeedUser(), new PortalResource(entry), action);
}
//////////////////////////////////////////////////////////////////////////
// Permission Management
/////////////////////////////////////////////////////////////////////////
/**
* @see PermissionManagement#getPermissions(String)
*/
public static Iterator getPermissions(String rolename)
throws JetspeedSecurityException
{
return JetspeedPermissionManagement.getPermissions(rolename);
}
/**
* @see PermissionManagement#getPermissions
*/
public static Iterator getPermissions()
throws JetspeedSecurityException
{
return JetspeedPermissionManagement.getPermissions();
}
/**
* @see PermissionManagement#addPermission
*/
public static void addPermission(Permission permission)
throws JetspeedSecurityException
{
JetspeedPermissionManagement.addPermission(permission);
}
/**
* @see PermissionManagement#savePermission
*/
public static void savePermission(Permission permission)
throws JetspeedSecurityException
{
JetspeedPermissionManagement.savePermission(permission);
}
/**
* @see PermissionManagement#removePermission
*/
public static void removePermission(String permissionName)
throws JetspeedSecurityException
{
JetspeedPermissionManagement.removePermission(permissionName);
}
/**
* @see PermissionManagement#grantPermission
*/
public static void grantPermission(String roleName, String permissionName)
throws JetspeedSecurityException
{
JetspeedPermissionManagement.grantPermission(roleName, permissionName);
}
/**
* @see PermissionManagement#revokePermission
*/
public static void revokePermission(String roleName, String permissionName)
throws JetspeedSecurityException
{
JetspeedPermissionManagement.revokePermission(roleName, permissionName);
}
/**
* @see PermissionManagement#hasPermission
*/
public static boolean hasPermission(String roleName, String permissionName)
throws JetspeedSecurityException
{
return JetspeedPermissionManagement.hasPermission(roleName, permissionName);
}
/**
* @see PermissionManagement#getPermission
*/
public static Permission getPermission(String permissionName)
throws JetspeedSecurityException
{
return JetspeedPermissionManagement.getPermission(permissionName);
}
/**
* A utility method that will generate a password consisting of random numbers and letters of length N from a specified character array
*
* @param length
* @param characters
* @return String
* @throws JetspeedSecurityException
* @author <a href="mailto:ben.woodward@bbc.co.uk">Ben Woodward</a>
*/
private static String generatePassword(int length, char[] characters)
throws JetspeedSecurityException
{
String password = "";
int randomNumber = 0;
for (int ia = 0; ia < length; ia++)
{
randomNumber=(int)(Math.random()*NUMBERS_AND_LETTERS_ALPHABET.length);
password += characters[randomNumber];
}
return password;
}
/**
* A utility method that will generate a password consisting of random numbers and letters of length N
*
* @param length
* @return String
* @throws JetspeedSecurityException
* @author <a href="mailto:ben.woodward@bbc.co.uk">Ben Woodward</a>
*/
public static String generateMixedCasePassword(int length)
throws JetspeedSecurityException
{
return generatePassword(length, NUMBERS_AND_LETTERS_ALPHABET);
}
/**
* A utility method that will generate a lowercase password consisting of random numbers and letters of length N
*
* @param length
* @return String
* @throws JetspeedSecurityException
* @author <a href="mailto:ben.woodward@bbc.co.uk">Ben Woodward</a>
*/
public static String generateLowerCasePassword(int length)
throws JetspeedSecurityException
{
return generatePassword(length, LC_NUMBERS_AND_LETTERS_ALPHABET).toLowerCase();
}
/**
* A utility method that will generate an uppercase password consisting of random numbers and letters of length N
*
* @param length
* @return String
* @throws JetspeedSecurityException
*/
public static String generateUpperCasePassword(int length)
throws JetspeedSecurityException
{
return generatePassword(length, LC_NUMBERS_AND_LETTERS_ALPHABET).toUpperCase();
}
/**
* Utility method for retreiving the correct security reference based
* on profile and registry information.
*/
public static SecurityReference getSecurityReference(Entry entry, JetspeedRunData rundata)
{
PortletEntry pEntry = null;
if (entry != null)
{
pEntry = (PortletEntry) Registry.getEntry(Registry.PORTLET, entry.getParent());
}
SecurityReference securityRef = null;
// First, check the profile level security
if (entry != null)
{
securityRef = entry.getSecurityRef();
}
// If no profile level security has been assigned, use the registry
if (securityRef == null && pEntry != null)
{
securityRef = pEntry.getSecurityRef();
}
// still no security? go with the default.
if (securityRef == null && rundata != null)
{
securityRef = PortalToolkit.getDefaultSecurityRef(rundata.getProfile());
}
return securityRef;
}
/**
* Checks where the security of this Entry is actually defined.
*@return int
* <ul>
* <li><b>0</b> if there is security assigned at the profile level.</li>
* <li><b>1</b> if there is security assigned at the registry level.</li>
* <li><b>2</b> if the 2 previous assertion are false (inheriting)</li>
* </ul>
*/
public static int getSecuritySource(Entry entry, JetspeedRunData rundata)
{
PortletEntry pEntry = (PortletEntry) Registry.getEntry(Registry.PORTLET, entry.getParent());
if (entry.getSecurityRef() != null)
{
return 0;
}
if (pEntry != null && pEntry.getSecurityRef() != null)
{
return 1;
}
return 2;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?