首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OC4J上配置JAAS

在OC4J上配置JAAS
EN

Stack Overflow用户
提问于 2010-08-19 04:06:31
回答 2查看 707关注 0票数 0

我正在尝试让JAAS与OC4J协同工作。

我以前也让JAAS与JBoss一起工作过。在JBoss中使用JAAS很简单(对我来说)。

在应用程序的jboss-web.xml中,放入以下内容:

代码语言:javascript
复制
<security-domain>java:/jaas/myApp</security-domain>

并将以下内容放入JBoss的login-config.xml中:

代码语言:javascript
复制
<application-policy name = "myApp">
   <authentication>
      <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
        <module-option name="dsJndiName">java:/jdbc/myDS</module-option>
        <module-option name="principalsQuery">SELECT password FROM users WHERE username=?</module-option>
        <module-option name="rolesQuery">select name, 'Roles' from groups ...</module-option>
      </login-module>
   </authentication>
</application-policy>

那么OC4J中的等价物是什么呢?我真的需要处理Realms、UserManagers等吗?或者我可以只在system-jazn-data.xml文件中添加一些XML吗?最简单的解决方案是什么?

EN

回答 2

Stack Overflow用户

发布于 2010-08-20 01:54:46

好了,多做了一些功课,发现已经很接近了。您需要将此代码添加到$OC4J_HOME/j2ee/yourinstance/config/system-jazn-data.xml中

代码语言:javascript
复制
<application>
  <name>myApp</name>
  <login-modules>
    <login-module>
      <class>com.company.project.JDBCLoginModule</class>
      <control-flag>required</control-flag>
      <options>
        <option>
          <name>principalsQuery</name>
          <value>SELECT password FROM users WHERE username=?</value>
        </option>
        <option>
          <name>dsJndiName</name>
          <value>jdbc/myDS</value>
        </option>
      </options>
    </login-module>
  </login-modules>
</application>

然后,您必须创建实现javax.security.auth.spi.LoginModule的JDBCLoginModule类。也许OC4J已经有这个类了,但是我找不到它。包括要部署到OC4J EAR/WAR/JAR中的类。

仍在处理登录的组/角色方面。

更新:更好的是,找到了官方网页:

  • http://download.oracle.com/docs/cd/B32110_01/web.1013/b28957/jaas_intro.htm
  • http://download.oracle.com/docs/cd/B32110_01/web.1013/b28957/loginmod.htm#BABCDDAI
票数 1
EN

Stack Overflow用户

发布于 2011-01-25 00:02:19

a)实际上,最好的方法是把它放在orion- application上,它会在每次部署应用程序时自动安装:它看起来像这样

代码语言:javascript
复制
<jazn-loginconfig>
  <application>
    <name>ApplicationName</name>
    <login-modules>
      <login-module>
        <class>mycomapany.idm.loginmodules.BlahBlahLoginModule</class>
        <control-flag>required</control-flag>
        <options>
          <option>
          <name>debug</name>
          <value>true</value>
          </option>
        </options>
      </login-module>
    </login-modules>
  </application>
</jazn-loginconfig>

b)您应该检查JAZN,它是JAAS的Oracle实现/替代。它更健壮、更灵活(尽管更复杂)。现在,如果您的登录逻辑像您上面发布的那样简单,我认为这就足够了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3516221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档