我有一个运行JAAS的JSF应用程序。验证通过用户标识和密码进行。 LoginModule执行身份验证和用户主体创建。
现在,我正在升级该应用程序,以允许用户使用其任何预先注册和确认的电子邮件登录。
LoginModule再根据电子邮件的所有者userid执行身份验证和用户主体创建。
表之间的关系不是很花哨:
EmailTable(N)-(1)UserTable(1)-(N)UserRoles
但是,即使进行了身份验证和创建了用户主体,在JSF应用程序中,#{request.remoteUser}或#{request.userPrincipal.name}的输出仍然是在登录页面中输入的用户电子邮件,而不是userid,并且对内部页面的授权不起作用。
拜托,我想念的是什么?