Home > Backend Development > PHP Tutorial > Laravel 5.2:角色管理的时候怎么改变用户的角色呢?

Laravel 5.2:角色管理的时候怎么改变用户的角色呢?

WBOY
Release: 2016-06-06 20:11:39
Original
1205 people have browsed it

使用 Laravel 5.2 和 Zizaco/entrust 5.2这个包的时候, 怎么改变用户的角色呢?

比如:有一个用户Jim,他现在的角色是vip,30天后到期,到期后自动变为普通用户,怎么做呢?

3张表如下:
users

<code>id      name         email                   password
1       Jim          Jim@example.com         ****** </code>
Copy after login
Copy after login

roles

<code>id       name      
1        vip     
2        ordinary </code>
Copy after login
Copy after login

role_user

<code>user_id      role_id     
1                1 </code>
Copy after login
Copy after login

回复内容:

使用 Laravel 5.2 和 Zizaco/entrust 5.2这个包的时候, 怎么改变用户的角色呢?

比如:有一个用户Jim,他现在的角色是vip,30天后到期,到期后自动变为普通用户,怎么做呢?

3张表如下:
users

<code>id      name         email                   password
1       Jim          Jim@example.com         ****** </code>
Copy after login
Copy after login

roles

<code>id       name      
1        vip     
2        ordinary </code>
Copy after login
Copy after login

role_user

<code>user_id      role_id     
1                1 </code>
Copy after login
Copy after login

你可能思路错了,一个可能的方案如下:

  1. 所有用户都拥有ordinary角色

  2. vip用户同时拥有ordinary和vip角色

  3. 在验证vip用户权限的时候,先验证是否是vip用户,如果是,再验证账户是否到期(可以通过在roles表中设置一个expire字段,存储到期日期,如果是ordinary则默认为null,如果是vip,则设置相应的日期)

  4. 所以,不存在自动改变用户角色的问题,也就是说,vip用户在到期后,还是vip用户,只不过vip“身份”到期了,需要vip权限的资源也就不可用(通过验证expire字段)

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template