Tag: 单点登录

如何以编程方式登录j_security_check

我有一个使用j_security_check的JSP Web应用程序。 如果我知道用户ID和密码,是否可以通过JSP页面以编程方式将特定用户登录到j_security_check ? 我试着以这种方式将变量作为URL参数传递给… response.sendRedirect(www.mydomain.com/j_security_check?j_username=someUserName&j_password=somePassword ) ……但它不起作用。 有什么办法吗? 编辑:这是我的登录页面,现在可以正常工作。 出于安全原因,我修剪了一些代码。   <input type="text" id="username" name="j_username" size="16" style="width: 150px;" autocomplete="off" onblur=”return checkCaptcha();”> <input class="submit" type="submit" name="submit" value="”> <%–   –%> <%– –%>

使用Java和SAML 2.0进行Web SSO

我想编写一个Web应用程序,它使用由身份提供者发布的SAML 2.0令牌进行身份validation。 据我所知,根据这个问题 ,PHP世界中有一个可行的解决方案,使用simpleSAMLphp 。 Java世界中是否存在等效方法? 常见的servlet容器或应用程序服务器是否有开箱即用的解决方案和/或教程?

简单的SSO – 使用自定义身份validation – CAS还是某些Oauth或openid服务器?

我想更多地了解解决单点登录的不同方式及其优缺点。 您是否使用过一个特定的解决方案,告诉我它有什么好处,并告诉我有哪些限制或次优部分。 以下是我想知道或不明白的细节。 SSO是一个巨大的主题,如维基百科中所列 。 我学的越多,我的问题就越多。 首先,我不了解CAS的令牌validation的必要性,它有什么用呢? 它更安全吗? 我猜它很容易受到像中国人一样的攻击。 客户还应该使用ssl吗? 让我们变得真实,这是我们的需求:如果已经在我们的某个应用程序中登录,则自动识别/登录用户。 my-php-app.com my-java-app.com my-ruby-app.com (我们有很多webapps,用不同的语言编写) 我们希望(保留)我们自己的身份validation规则和用户存储,但可能会添加一些Oauth2提供程序,如facebook-connect。 我们希望它对用户来说简单易用,对于使用它的开发人员来说简单。 你会怎么做? CAS? OpenID的? 我可以用它进行集中认证吗? 其他? 或者是OAuth服务器? 在客户端,您是否会使用iframe(如灯箱)来显示重定向的页面? 为什么/为什么不呢? 另一个与SSO相关的问题是: Saml经常(错误地)混入SSO讨论中 – 如果我这样说,我能理解吗? 当浏览器指向www.yetanother-myapp.com时,saml实现不会提供sso(自动登录)? 我研究过的一些相关的SO问题: 使用CAS或OAuth进行SSO? – 他的需求描述不是我想要的,他描述了CAS …… OpenID作为单点登录选项? – 好吧,我不确定从中学到了什么。 谢谢你教育我!

通过OAuth支持Facebook / Twitter身份validation的CAS服务器

我正在寻找一个CAS服务器,它支持通过OAuth进行单点登录的Facebook / Twitter身份validation。 我已经检查过JASIG-CAS服务器,但它看起来不支持它们。 我的java Web应用程序基于Spring Security 3和其他外部PHP应用程序。 它是否存在支持Facebook / Twitter的CAS服务器? 或者JASIG上这种支持的扩展(或示例代码)?

单一登录没有Java的cookie

我继续面对这个问题,我的经理如果客户端禁用cookie,SSO将如何工作,但我没有任何答案。 我们目前正在使用JOSSO进行单点登录。 我们是否有任何开源框架支持单点登录而不使用烹饪机制。

新手在JAAS认证; 使用URL栏中的令牌登录

我有一个有趣的项目要求,我们必须接受一个令牌作为GET参数,它将validation进入应用程序的用户。 这是为了允许受信任的第三方无缝地将用户发送到我们的站点,而无需再次登录。 例如: http : //www.myproj.com/appName/index.jsf?user_token = asdf123randomstuffaf12fsaasdf appName将是上下文根,user_token将是可以检查的标记。 令牌将被使用一次,然后被丢弃,并且它们在生成后几秒钟到期。 令牌部分并不是我真正想要的,它是与JAAS的集成。 在Spring Security中,我可以设置一个filter来拦截请求,从URL中提取令牌,并针对UserDetailsS​​ervice对用户进行身份validation。 遗憾的是,Spring Security在这个项目中无法解决各种问题,因此我们需要使用JAAS身份validation。 我不是要求代码,但我可以对需要编写的模块使用一些基本方向,以便继续我的研究。 感谢大家,

Java SSO:针对Active Directory的Kerberos身份validation

我仍在尝试为SSO(在* nix上运行)找到基于Java的解决方案,我可以在JBoss上使用它来针对Active Directory /域控制器进行授权。 我最初尝试通过NTLM执行此操作,但放弃了因为它在Windows Server> = 2008上不受支持。 因此,我正在尝试使用Kerberos实现此function,但似乎无法找到正确/可行的解决方案。 请指出正确的方向,说明如何设置这样的配置,如何validationActive Directory和/或域控制器,以便: 找出该帐户是否有效 获取用户的组列表 任何帮助表示赞赏! UPDATE 我正在使用jcifs-ext-0.9.4和jcifs-krb5-1.3.12开发解决方案。 我按如下所述设置了web.xml: auth jcifs.http.AuthenticationFilter java.security.auth.login.config /WEB-INF/login.conf jcifs.spnego.servicePrincipal HTTP/testconn@mydomain.com jcifs.spnego.servicePassword supersecret sun.security.krb5.debug true java.security.krb5.realm mydomain.com java.security.krb5.kdc testdom01.mydomain.com jcifs.smb.client.domain TESTDOMAIN jcifs.http.enableNegotiate true jcifs.http.basicRealm mydomain.com jcifs.http.domainController testdom01.mydomain.com auth /* 如果尝试访问应用程序,这会导致以下堆栈跟踪: 2010-07-22 15:53:10,588 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/google].[default]] Servlet.service() for servlet default threw exception java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native […]

如何通过GSS-API获取kerberos服务票?

有谁知道如何使用Java GSS-API从密钥分发中心(KDC)获取服务票证? 我有一个胖客户端应用程序,首先通过JAAS使用Krb5LoginModule从票证缓存中获取TGT进行身份validation(后台:Windows例如使用kerberos实现并将票证授予票证存储在安全的内存区域)。 从LoginManager我得到包含TGT的Subject对象。 现在我希望当我为我的服务创建一个特定的GSSCredential对象时,服务票证也将被放入Subject的私人凭证中(我已经在网上的某处读过)。 所以我尝试了以下方法: // Exception handling ommitted LoginContext lc = new LoginContext(“HelloEjbClient”, new DialogCallbackHandler()); lc.login() Subject.doAs(lc.getSubject(), new PrivilegedAction() { public Object run() { GSSManager manager = GSSManager.getInstance(); GSSName clientName = manager.createName(“clientUser”, GSSName.NT_USER_NAME); GSSCredential clientCreds = manager.createCredential(clientName, 8 * 3600, createKerberosOid(), GSSCredential.INITIATE_ONLY); GSSName serverName = manager.createName(“myService@localhost”, GSSName.NT_HOSTBASED_SERVICE); manager.createCredential(serverName, GSSCredential.INDEFINITE_LIFETIME, createKerberosOid(), GSSCredential.INITIATE_ONLY); return null; […]

使用Java在不同域上单一登录

我们正在跨多个应用程序实施单点登录[SSO],这些应用程序托管在不同的域和不同的服务器上。 现在如图所示,我们引入了一个Authenticate Server,它实际上与LDAP交互并对用户进行身份validation。 将使用/与Authenticate Server通信的应用程序托管在不同的服务器和域之间。 对于SSO,我不能使用会话变量,因为有不同的服务器和不同的应用程序,不同的域,域级cookie /会话变量没有帮助。 我正在寻找一个更好的解决方案,可用于跨越他们的SSO。 任何已证实的实施都存在? 如果是这样,请发布或指出我正确的方向。

单点登录+弹簧

谁能告诉我如何在我的spring应用程序中实现单点登录。(Tomcat或Jboss服务器) 与我分享任何文档或链接,以便在我的春季应用程序中使用此function。 我使用的是2.5.6弹簧。 请做必要的。