优化权限项PermissionFlags,改为UInt32,最大值0xFFFFFFFF,数据库存储-1
This commit is contained in:
parent
373c4e271c
commit
56cd520fce
|
@ -5,7 +5,7 @@ namespace XCode.Membership;
|
|||
/// <summary>操作权限</summary>
|
||||
[Flags]
|
||||
[Description("操作权限")]
|
||||
public enum PermissionFlags
|
||||
public enum PermissionFlags : UInt32
|
||||
{
|
||||
/// <summary>无权限</summary>
|
||||
[Description("无权限")]
|
||||
|
@ -29,5 +29,5 @@ public enum PermissionFlags
|
|||
|
||||
/// <summary>所有权限</summary>
|
||||
[Description("所有")]
|
||||
All = 0x7FFFFFFF,
|
||||
All = 0xFFFFFFFF,
|
||||
}
|
||||
|
|
|
@ -346,7 +346,7 @@ public partial class Role : LogEntity<Role>, IRole
|
|||
|
||||
/// <summary>当前角色拥有的资源</summary>
|
||||
[XmlIgnore, ScriptIgnore, IgnoreDataMember]
|
||||
public Int32[] Resources { get { return Permissions.Keys.ToArray(); } }
|
||||
public Int32[] Resources => Permissions.Keys.ToArray();
|
||||
#endregion
|
||||
|
||||
#region 业务
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using XCode.Membership;
|
||||
using Xunit;
|
||||
|
||||
namespace XUnitTest.XCode.Membership;
|
||||
|
||||
public class PermissionFlagsTests
|
||||
{
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
var pm = (PermissionFlags)0xFFFFFFFF;
|
||||
Assert.Equal(PermissionFlags.All, pm);
|
||||
Assert.Equal(0xFFFFFFFF, (UInt32)pm);
|
||||
Assert.Equal(-1, (Int32)pm);
|
||||
|
||||
var v = -1;
|
||||
pm = (PermissionFlags)v;
|
||||
Assert.Equal(PermissionFlags.All, pm);
|
||||
Assert.Equal(0xFFFFFFFF, (UInt32)pm);
|
||||
Assert.Equal(-1, (Int32)pm);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue