Authentication 如何在父项目和子项目之间共享身份验证?

Authentication 如何在父项目和子项目之间共享身份验证?,authentication,playframework,playframework-2.0,Authentication,Playframework,Playframework 2.0,我试图开发一个应用程序,其中将包含一个父项目和多个子项目(子项目)。但我想在他们之间共享身份验证,即,如果一个人在与父项目的会话期间登录,子项目应该能够获得此信息(该用户已经登录) 有人能帮我怎么做吗?我想你需要一个“核心”项目,它包含所有基本功能(身份验证、访问控制、基本实用程序等)。然后每个子项目都依赖于核心项目,通过依赖关系,父项目也将了解核心。可能会有所帮助。我通过使用play.mvc.Security注释并在其中使用我自己的安全验证器实现解决了这个问题。以下是子项目入口控制器中使用的注

我试图开发一个应用程序,其中将包含一个父项目和多个子项目(子项目)。但我想在他们之间共享身份验证,即,如果一个人在与父项目的会话期间登录,子项目应该能够获得此信息(该用户已经登录)


有人能帮我怎么做吗?

我想你需要一个“核心”项目,它包含所有基本功能(身份验证、访问控制、基本实用程序等)。然后每个子项目都依赖于核心项目,通过依赖关系,父项目也将了解核心。可能会有所帮助。

我通过使用play.mvc.Security注释并在其中使用我自己的安全验证器实现解决了这个问题。以下是子项目入口控制器中使用的注释:

@Security.Authenticated(SecuredLogin.class)
java是一个文件,用于检查会话中是否有用户,如果有,则执行一些子项目特定的功能,如从web服务获取用户角色。i、 e

public class SecuredLogin extends Security.Authenticator {

@Override
public String getLoggedInUsername(Context ctx) {
    if (Controller.session("LOGGEDIN_USERNAME") != null){
        return ctx.session().get("LOGGEDIN_USERID");
    } else {
        String devResidingUser = Controller.session().get("RESIDING_USER");
        UserRoleInformation userRoleInfo ;
        try {
            userRoleInfo = DataController.retrieveUserRoleInformation(devResidingUser);
           Controller.session().put("LOGGEDIN_USERNAME", devResidingUser);
           ctx.session().put("LOGGEDIN_USERROLE", userRoleInfo);
           ctx.session().put("LOGGEDIN_USERID", userRoleInfo.getUserId());
        } catch (Exception e) {
            Controller.session().put("SERVER_ERROR", "TRUE");
            return null;
        }
        ctx.session().put("USERNAME", devResidingUser);
        return devResidingUser;
    }
}
}
谢谢大家花时间解决这个问题