加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Lift中MegaProtoUser的替代品

发布时间:2020-12-16 18:49:47 所属栏目:安全 来源:网络整理
导读:在Lift中,整个ProtoUser构造非常棒,令人惊叹的是它为你做了什么,大多数优点(很遗憾,像Lift中的很多东西)没有记录. 只有一个问题:它包含我不需要的数据,甚至包含我不想要的数据.例如,我希望我的用户通过昵称登录,而我不需要知道他的位置,区域设置或名/姓.但
在Lift中,整个ProtoUser构造非常棒,令人惊叹的是它为你做了什么,大多数优点(很遗憾,像Lift中的很多东西)没有记录.

只有一个问题:它包含我不需要的数据,甚至包含我不想要的数据.例如,我希望我的用户通过昵称登录,而我不需要知道他的位置,区域设置或名/姓.但在注册时,我需要标准注册页面上未显示的信息.

我的第一个想法是重写我自己的用户特征,但后来我必须重新编写所有的会话代码,授权等.是否已有替代方案?或者是否可以改变ProtoUser以拥有我自己的注册和登录页面,以及只有我需要的数据?

谢谢收听.

解决方法

我不确定是否有任何简单的方法来删除ProtoUser中的任何字段,但是一个选项是查看ProtoUser中的fieldOrder方法,我相信它定义了protoUser使用的字段.至于注册问题,有一个方法signUpFields,它允许您覆盖注册时需要的字段,如此

override def signupFields = email :: userName :: password :: Nil

假设您定义了自己的userName对象. editFields也有一个类似的方法,这实际上并没有解决它跟踪的字段的问题,但也许fieldOrder可能会做一些事情,另一个建议我是看看Proto用户的来源,看看你是否可以覆盖映射的对象并使映射器以某种方式忽略它们.这仍然是一种解决Proto用户的方法,以避免重写它包含的大量代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读