2017-02-21 59 views
0

我必须建立一个新的安全。我已经看到,我可以使用多个登录模块而不是多个安全域。但我不知道如何以及何时告诉我的Java应用程序我应该使用哪个登录模块? 这里是那种登录模块的使用:java/Jboss多重登录模块

<login-module code="Database" flag="required"> 
    <module-option name="dsJndiName" value="java:/jdbc/hrdb"/> 
    <module-option name="principalsQuery" value="select TRIM(CDPASS) from"/> 
    <module-option name="rolesQuery" value="select TRIM(ROLES),'Roles' from/> 
    <module-option name="unauthenticatedIdentity" value="guest"/> 
</login-module> 

回答

0

的观点只能配置,它采用德安全领域中的应用。 当您堆叠LoginModules(配置多个登录模块)时,您可以在堆栈的上下文中指定此模块的重要性。

例如:如果配置了LDAP LoginModule标记required和数据库被标记sufficient 然后LDAP登录模块必须成功,数据库可以成功,当数据库模块是成功登录过程就完成了。

下面的列表解释了每个标志的语义:

  • 需要:该模块必须成功;登录过程中会始终 继续
  • 必要:该模块必须成功,否则登录过程 失败
  • 足够:当模块成功,登录过程完成
  • 可选:登录过程中会不顾继续结果
+0

因此,我可以为所需模块创建一个通用用户,然后用真实用户ID继续进行可选模块? – coshikipix

+0

对于域中的每个登录模块,这将在登录方法中捕获用户提供的登录信息(例如用户名和密码)。 –