HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
Subject login = Authentication.login(new URLCallbackHandler(username, getPassword().getBytes()));
ServletAuthentication.runAs(login, request);
ServletAuthentication.generateNewSessionID(request);
String loginUrl = "/adfAuthentication?success_url=/faces/homePage.jspx";
String activityURL = ctx.getGlobalViewActivityURL(loginUrl);
ext.redirect(activityURL);现在假设我们使用AD服务器进行用户身份验证,对于我们要获取Subject对象的那一行,weblogic如何知道它应该使用weblogic中的AD服务器提供程序设置。如果我们在weblogic中使用AD服务器提供程序,有人能在这里解释一下流程吗?
发布于 2015-05-06 14:57:19
我解决了这个问题,实际上代码运行得很好..但是广告服务器设置是错误的。weblogic中列出的用户是显示名称,而不是登录名。
干杯
发布于 2015-05-05 19:15:15
身份验证位于Weblogic管理服务器级别,这意味着所有Weblogic受控服务器将共享相同的身份验证逻辑。这进一步意味着您部署的所有应用程序将共享相同的身份验证。
回答您的问题:假设您在Weblogic中有3个身份验证提供程序:
假设所有的控制标志选项都设置为足够:
当用户尝试登录时,第一个Weblogic将在来自"DefaultAuthenticator“的用户中进行查找。如果找不到具有正确凭据的用户,它将移动到"Active Directory Authenticator“,依此类推。
找到具有正确凭据的用户时,身份验证将返回成功,而不检查较低的授权码。
https://stackoverflow.com/questions/30047770
复制相似问题