本文整理汇总了Java中net.sf.acegisecurity.context.ContextHolder类的典型用法代码示例。如果您正苦于以下问题:Java ContextHolder类的具体用法?Java ContextHolder怎么用?Java ContextHolder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ContextHolder类属于net.sf.acegisecurity.context包,在下文中一共展示了ContextHolder类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: applyPostQueryPermissions
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
@Override
protected List<R> applyPostQueryPermissions(List<R> results, int requestedCount)
{
Context context = ContextHolder.getContext();
if ((context == null) || (! (context instanceof AlfrescoSecureContext)))
{
// This indicates that we have come via the internal service methods
if (logger.isDebugEnabled())
{
logger.debug("Ignoring post-query permissions. The secure context is empty: " + this);
}
return results;
}
Authentication authentication = (((SecureContext) context).getAuthentication());
List<R> resultsOut = (List<R>) methodSecurity.applyPermissions(results, authentication, requestedCount);
// Done
return resultsOut;
}
示例2: getUserDetails
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* We actually have an acegi object so override the default method.
*/
@Override
protected UserDetails getUserDetails(String userName)
{
if (AuthenticationUtil.isMtEnabled())
{
// ALF-9403 - "manual" runAs to avoid clearing ticket, eg. when called via "validate" (->setCurrentUser->CheckCurrentUser)
Authentication originalFullAuthentication = AuthenticationUtil.getFullAuthentication();
try
{
if (originalFullAuthentication == null)
{
AuthenticationUtil.setFullyAuthenticatedUser(getSystemUserName(getUserDomain(userName)));
}
return authenticationDao.loadUserByUsername(userName);
}
finally
{
if (originalFullAuthentication == null)
{
ContextHolder.setContext(null); // note: does not clear ticket (unlike AuthenticationUtil.clearCurrentSecurityContext())
}
}
}
else
{
return authenticationDao.loadUserByUsername(userName);
}
}
示例3: getCurrentUserName
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
public String getCurrentUserName() throws AuthenticationException
{
Context context = ContextHolder.getContext();
if ((context == null) || !(context instanceof SecureContext))
{
return null;
}
return getUserName(((SecureContext) context).getAuthentication());
}
示例4: setFullAuthentication
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* Re-authenticate using a previously-created authentication.
*/
public static Authentication setFullAuthentication(Authentication authentication)
{
if (authentication == null)
{
clearCurrentSecurityContext();
return null;
}
else
{
if (s_logger.isDebugEnabled())
s_logger.debug("Setting fully authenticated principal: " + authentication.getName());
Context context = ContextHolder.getContext();
AlfrescoSecureContext sc = null;
if ((context == null) || !(context instanceof AlfrescoSecureContext))
{
if (s_logger.isDebugEnabled())
s_logger.debug("Creating new secure context.");
sc = new AlfrescoSecureContextImpl();
ContextHolder.setContext(sc);
}
else
{
sc = (AlfrescoSecureContext) context;
}
authentication.setAuthenticated(true);
// Sets real and effective
sc.setRealAuthentication(authentication);
sc.setEffectiveAuthentication(authentication);
return authentication;
}
}
示例5: setRunAsAuthentication
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
static Authentication setRunAsAuthentication(Authentication authentication)
{
if (authentication == null)
{
clearCurrentSecurityContext();
return null;
}
else
{
if (s_logger.isDebugEnabled())
s_logger.debug("Setting RunAs principal: " + authentication.getName());
Context context = ContextHolder.getContext();
AlfrescoSecureContext sc = null;
if ((context == null) || !(context instanceof AlfrescoSecureContext))
{
if (s_logger.isDebugEnabled())
s_logger.debug("Creating new secure context.");
sc = new AlfrescoSecureContextImpl();
ContextHolder.setContext(sc);
}
else
{
sc = (AlfrescoSecureContext) context;
}
authentication.setAuthenticated(true);
if (sc.getRealAuthentication() == null)
{
if (s_logger.isDebugEnabled())
s_logger.debug("There is no fully authenticated prinipal. Setting fully authenticated principal: " + authentication.getName());
sc.setRealAuthentication(authentication);
}
sc.setEffectiveAuthentication(authentication);
return authentication;
}
}
示例6: getRunAsAuthentication
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* Get the current authentication for application of permissions. This includes
* the any overlay details set by {@link #setRunAsUser(String)}.
*
* @return Authentication Returns the running authentication
* @throws AuthenticationException
*/
public static Authentication getRunAsAuthentication() throws AuthenticationException
{
Context context = ContextHolder.getContext();
if ((context == null) || !(context instanceof AlfrescoSecureContext))
{
return null;
}
return ((AlfrescoSecureContext) context).getEffectiveAuthentication();
}
示例7: getFullAuthentication
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* <b>WARN: Advanced usage only.</b><br/>
* Get the authentication for that was set by an real authentication.
*
* @return Authentication Returns the real authentication
* @throws AuthenticationException
*/
public static Authentication getFullAuthentication() throws AuthenticationException
{
Context context = ContextHolder.getContext();
if ((context == null) || !(context instanceof AlfrescoSecureContext))
{
return null;
}
return ((AlfrescoSecureContext) context).getRealAuthentication();
}
示例8: getRunAsUser
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* Get the user that is currently in effect for purposes of authentication. This includes
* any overlays introduced by {@link #setRunAsUser(String) runAs}.
*
* @return Returns the name of the user
* @throws AuthenticationException
*/
public static String getRunAsUser() throws AuthenticationException
{
Context context = ContextHolder.getContext();
if ((context == null) || !(context instanceof AlfrescoSecureContext))
{
return null;
}
AlfrescoSecureContext ctx = (AlfrescoSecureContext) context;
if (ctx.getEffectiveAuthentication() == null)
{
return null;
}
return getUserName(ctx.getEffectiveAuthentication());
}
示例9: getFullyAuthenticatedUser
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* Get the fully authenticated user.
* It returns the name of the user that last authenticated and excludes any overlay authentication set
* by {@link #runAs(org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork, String) runAs}.
*
* @return Returns the name of the authenticated user
* @throws AuthenticationException
*/
public static String getFullyAuthenticatedUser() throws AuthenticationException
{
Context context = ContextHolder.getContext();
if ((context == null) || !(context instanceof AlfrescoSecureContext))
{
return null;
}
AlfrescoSecureContext ctx = (AlfrescoSecureContext) context;
if (ctx.getRealAuthentication() == null)
{
return null;
}
return getUserName(ctx.getRealAuthentication());
}
示例10: clearCurrentSecurityContext
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
/**
* Remove the current security information
*/
public static void clearCurrentSecurityContext()
{
if (s_logger.isDebugEnabled())
s_logger.debug("Removing the current security information.");
ContextHolder.setContext(null);
InMemoryTicketComponentImpl.clearCurrentSecurityContext();
NDC.remove();
TenantContextHolder.clearTenantDomain();
}
示例11: clearCurrentSecurityContext
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
public void clearCurrentSecurityContext()
{
ContextHolder.setContext(null);
}
示例12: afterPhase
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
@Override
public void afterPhase(PhaseEvent phaseevent)
{
ContextHolder.setContext(null);
}
示例13: doFilter
import net.sf.acegisecurity.context.ContextHolder; //导入依赖的package包/类
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException
{
ContextHolder.setContext(null);
chain.doFilter(servletRequest, servletResponse);
}