此时,任何人都可以进入电话簿页面,因为没有进行权限验证。我们将定义两个权限:
- 进入电话薄页面的权限
- 新建用户的权限
查看权限
定义权限
在AppAuthorizationProvider 类里面添加一个新的权限:
pages.CreateChildPermission(AppPermissions.Pages_Tenant_PhoneBook, L("PhoneBook"), multiTenancySides: MultiTenancySides.Tenant);
权限需要一个唯一的名字,我们在AppPermissions 定义权限名字常量。
public const string Pages_Tenant_PhoneBook = "Pages.Tenant.PhoneBook";
权限的名字叫Pages.Tenant.PhoneBook。虽然可以设置任何字符串(只要它是唯一的),但建议使用该命名规范。权限可以有一个本地化显示名称,这里叫PhoneBook。最后我们设置该权限是租户级别。
添加 ABPAUTHORIZE 特性
AbpAuthorize 特性可以使用在类或方法上,以此来保护应用服务或服务的方法不会被非法用户访问。因为所有的服务端代码都位于PersonAppService类里,我们可以像下面那样设置类的特性:
[AbpAuthorize(AppPermissions.Pages_Tenant_PhoneBook)]
public class PersonAppService : PhoneBookAppServiceBase, IPersonAppService
{
//...
}
现在,我们尝试通过点击菜单进入电话