基于属性文件的授权与鉴权提供程序

Auth provider 可以从符合 Apache Shiro Properties Realm 格式的参数文件中读取用户(users)、角色(roles)和权限(permissions)配置。

但需要注意,这是一个简单兼容 Apache Shiro 格式却并不依赖于 Apache Shiro 的新实现。

参数文件应该具备以下结构:

每一行都应该包含用户的用户名、密码和角色,或者角色的权限。

对于一行用户配置而言,应该遵循下面这种形式:

user.{username}={password},{roleName1},{roleName2},…​,{roleNameN}

对于一行角色配置而言,应该遵循下面这种形式:

role.{roleName}={permissionName1},{permissionName2},…​,{permissionNameN}

下方是一个示例:

user.tim = mypassword,administrator,developer
user.bob = hispassword,developer
user.joe = anotherpassword,manager
role.administrator=*
role.manager=play_golf,say_buzzwords
role.developer=do_actual_work

在描述角色时,可以使用通配符 * 来表示该角色具有所有权限。

当前的实现假定使用了基于用户/密码的身份验证。