首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seam - IdentityManager.isUserEnabled()的问题

Seam - IdentityManager.isUserEnabled()的问题
EN

Stack Overflow用户
提问于 2011-08-31 16:00:23
回答 1查看 181关注 0票数 1

我有一个JBoss Seam应用程序,它利用Seam的IdentityManagerJpaIdentityStore组件来处理用户帐户的创建和身份验证。我的components.xml文件设置正确,我可以使用IdentityManager创建没有问题的帐户。

我创建了一个页面,允许我执行基本的帐户维护,例如启用/禁用帐户。但是,每当我在isUserEnabled(String username)上调用IdentityManager方法时,它总是返回false。JpaIdentityStore中的相应方法也返回false。即使在数据库中已经启用了帐户,也会发生这两种情况。我的用户帐户类注释如下:

代码语言:javascript
复制
@Name("user")
@Entity(name = "UserAccount")
@Table(name = "tbl_user_acct", uniqueConstraints = { @UniqueConstraint(columnNames = "username") })
public class UserAccountBean extends BaseDomainEntity implements
        VersionedDomainEntity {

    private static final long serialVersionUID = -3573332411594504888L;

    @UserEnabled
    private boolean enabled;

        ...

}

我对IdentityManager类的任何其他方面没有任何问题(更改密码、创建/删除帐户等)。我遇到的唯一错误是当我试图确定一个用户是否启用时。我没有收到任何异常或错误消息,我只是得到了错误的结果返回。

还有其他人遇到过这个吗?知道如何最好地开始解决这个问题吗?

编辑:一些附加信息..。

我注意到,当我调用disableUser(String username)时,我确实在已启用的列中看到数据库反映了这一点。此外,当我调用enableUser(String username)时,我立即看到帐户已启用。但是,如果我导航到另一个页面,然后返回并调用isUserEnabled(),它仍然显示为false。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-03 01:39:28

原来是一个与懒惰抓取有关的问题。我有一个UserProfile对象,其中包含一个userAccount属性。这种关系很拉长。一旦我将其更改为急切的获取,就会收到来自isUserEnabled()的适当响应。

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

https://stackoverflow.com/questions/7259873

复制
相关文章

相似问题

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