用户身份验证-播放框架,Java

用户身份验证-播放框架,Java,java,angularjs,playframework,Java,Angularjs,Playframework,我是个新手。我正在通过创建各种类型的场景进行练习(Play+Java),例如与DB链接、使用JPA从数据库检索数据、掌握详细信息表单、将数据保存到数据库中等 我想实现用户身份验证。用户登录到应用程序。要访问应用程序,用户必须具有授权 例如:Employee-添加/编辑/查看/删除。有些用户可能拥有所有权限,有些用户拥有仅查看、添加/编辑/删除或仅编辑权限。即使在“员工编辑”选项中,用户也只能编辑某些字段,例如不允许使用员工姓名,但可以编辑员工的地址。i、 e.外地一级的授权 谢谢 使用身份验证控

我是个新手。我正在通过创建各种类型的场景进行练习(Play+Java),例如与DB链接、使用JPA从数据库检索数据、掌握详细信息表单、将数据保存到数据库中等

我想实现用户身份验证。用户登录到应用程序。要访问应用程序,用户必须具有授权

例如:Employee-添加/编辑/查看/删除。有些用户可能拥有所有权限,有些用户拥有仅查看、添加/编辑/删除或仅编辑权限。即使在“员工编辑”选项中,用户也只能编辑某些字段,例如不允许使用员工姓名,但可以编辑员工的地址。i、 e.外地一级的授权

谢谢

  • 使用身份验证控制器检查用户登录id/密码
    
    类AuthController@Inject()(cache:CacheApi,cached:cached,actorSystem:actorSystem)扩展了控制器{
    

  • 如果id/密码正确,则生成UUID密钥,并使用UUID密钥将用户对象(uservo)存储在内存缓存中。该密钥可以存储在浏览器cookie中

  • 
    val cacheTimeout=10.5分钟
    val key=UUID.randomUUID.toString
    set(key,uservo,cacheTimeout)
    Ok().with session(request.session+(“键”->key))
    

  • 我们可以在下面的html请求中获取具有“key”值的cookie。如果可以从内存缓存中检索密钥,则用户可以有效地执行该操作。 请记住再次设置cookie值,否则内存缓存中缓存的uservo将在10分钟后超时
  • 
    (request.session.get(“key”).flatMap{key=>
    cache.get[Uservo](键)
    }映射{uservo=>
    //需要再次使用“键”设置缓存,否则内存将在10分钟后超时
    set(request.session.get(“key”).get、uservo、cacheTimeout)
    //做动作。。
    })奥里斯先生{
    //失败并返回登录主页
    部分(未来(重定向(“/”.withNewSession))
    }
    

    和授权: