相关疑难解决方法(0)

Glassfish 3.1默认主体到角色映射

我正在使用glassfish和jaas模块.

我以这种方式配置了我的web.xml.

<security-constraint>
    <web-resource-collection>
        <web-resource-name>ALL Page for admin</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>file</realm-name>
</login-config>
<security-role>
    <description>Administrator</description>
    <role-name>user</role-name>
</security-role>
Run Code Online (Sandbox Code Playgroud)

这意味着所有想要访问我的Web应用程序的用户都需要是组用户.

然后在glassfish控制台上我需要勾选选项:Configuration - > server-config - > security - > Default Principal To Role Mapping

我的问题是为什么我需要将此默认主体勾选到角色映射?我如何更改我的web.xml以避免勾选它?

非常感谢

卢瓦克

java glassfish jaas java-ee

17
推荐指数
1
解决办法
2万
查看次数

Glassfish安全性 - jdbcRealm:如何使用SHA-256摘要配置登录

我在glassfish v3.0.1 b22中使用jdbcRealm来保证安全性.它被设置为使用我的数据库中的USER表进行身份验证,方法是访问以下博客:http://blogs.oracle.com/foo/entry/mort_learns_jdbc_realm_authentication.如果我将摘要算法保留为纯文本,我的工作正常.但是,当我尝试使用SHA-256进行摘要算法时,它会停止工作.我所做的是在Glassfish中指定 - 安全 - 领域 - jdbcRealm - 我想要SHA-256的摘要(我只是在摘要字段中键入SHA-256).然后我写了一个简单的Java程序,将密码文本转换为SHA-256哈希.然后我将该哈希粘贴到数据库中的密码字段中.顺便说一句,密码字段是类型varchar(30).我不能再登录了.有一点我注意到我的简单Java程序每次为同一文本字段生成不同的哈希值.

下面是我简单的java程序:

        MessageDigest md = MessageDigest.getInstance("SHA-256");
        String text = "admin";
        md.update(text.getBytes("UTF-8"));
        byte[] digest = md.digest();
        System.out.println(digest.toString());
Run Code Online (Sandbox Code Playgroud)

java glassfish sha256 digest jdbcrealm

10
推荐指数
1
解决办法
6985
查看次数

JDBCRealm与JPA

Java EE6的新手,我正在尝试建立一个JDBCRealm.许多示例建议在SQL中手动创建用于保存用户/组信息的表.

是否有更标准的"JPA"方式呢?如果你使用例如OneToMany映射(这是我希望我可以使用的),Glassfish期望的表格不适合你最终会遇到的那种表格结构.

我读过Glassfish仍然使用JDBC来完成JDBCRealm,这可以解释原因.我发现这个博客提出了一种使用JPA的方法.

http://www.codeproject.com/Articles/238779/J2EE-JDBC-based-authentication-with-JPA-Entities-i

但有没有"官方"方式与JPA一起做?我想确保遵循最佳实践以确保我有一个安全的应用程序.

谢谢

java glassfish jpa-2.0

6
推荐指数
1
解决办法
1759
查看次数

GlassFish JDBC领域组成员

我一直忙于在GlassFish 3.1上设置身份验证,特别是JDBC领域.我一直在假设:

  • "用户"表包含登录名("email_address")和密码("密码")
  • "组"表包含组名列表("名称")
  • "User_Group"表与用户和组匹配.

我无处可配置"User_Group"表,但是我想知道服务器如何能够将用户与组匹配.不用说它没用.然而,仔细检查表明:

  • "用户"表包含登录名("email_address")和密码("密码")
  • "组"表包含登录名("email_address")作为主键,以及以逗号分隔的组名列表("Administrator,User")在一列中("组")

这是正确的,如果是这样,为什么要经历创建单独的"组"表的麻烦?由于看起来每次登录只能有一个组列表("email_address"),只是简单地将一个名为"groups"的列添加到"User"表并完全丢弃"Group"表就不那么容易了吗?

谢谢!

java jdbc glassfish java-ee

2
推荐指数
1
解决办法
5949
查看次数

标签 统计

glassfish ×4

java ×4

java-ee ×2

digest ×1

jaas ×1

jdbc ×1

jdbcrealm ×1

jpa-2.0 ×1

sha256 ×1