Initial ...

This commit is contained in:
2026-03-22 14:00:52 +03:30
commit afeaf31fe1
10 changed files with 1154 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
bin
obj
+65
View File
@@ -0,0 +1,65 @@
using System;
using System.Linq;
using xCommons.Extensions;
using xIdentityModels.Models;
namespace xIdentityHelper.Extensions
{
public static class XIdentityHelperExtensions
{
/// <summary>
/// Check User Claims ia Admin Role or not ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsAdmin(this XUserClaimsInfoDto source)
{
//
var result = false;
//
if (source.IsNull() ||
source.Roles.IsNull() ||
!source.Roles.HasChild())
{
return result;
}
//
result = source.Roles.Contains(XUserRoles.ADMIN);
//
return result;
}
/// <summary>
/// Check Actor is Valid for UserSelectByParam or not ...
/// </summary>
/// <param name="source"></param>
/// <param name="userSelectByParam"></param>
/// <returns></returns>
public static bool IsValidActor(this XUserClaimsInfoDto source, string userSelectByParam)
{
//
var result = false;
//
if (source.IsNull() ||
userSelectByParam.IsNullOrEmpty())
{
return result;
}
//
bool isAdmin = source.IsAdmin();
result = isAdmin ||
userSelectByParam == source.Email ||
userSelectByParam == source.UserId ||
userSelectByParam == source.UserName ||
userSelectByParam == source.PhoneNumber;
//
return result;
}
}
}
+191
View File
@@ -0,0 +1,191 @@
using System;
using System.Collections.Generic;
using System.Linq;
using xCommons.Extensions;
using xExceptions.Constants;
namespace xIdentityHelper.Extensions
{
public static class XUserRoleExtensions
{
/// <summary>
/// Converts an String to XUserRole ...
/// </summary>
/// <param name="role"></param>
/// <returns></returns>
public static XUserRole ToXUserRole(this string role)
{
//
var result = XUserRole.User;
//
// Validate ...
if (role.IsNullOrEmpty())
{
XException.InvalidArgs.Throw();
}
//
var roles = new List<string>
{
role
};
result = roles.GetTopRole();
//
return result;
}
/// <summary>
/// Retrieve User Top Role based on Role Lists ...
/// </summary>
/// <param name="roles"></param>
/// <returns></returns>
public static XUserRole GetTopRole(this IEnumerable<string> roles)
{
//
// Validate ...
if (roles.IsNull() || !roles.HasChild())
{
XException.InvalidArgs.Throw();
}
//
// Normalize Roles ...
roles = roles.Select(r => r.ToNormalString());
//
var result = XUserRole.User;
//
// Admin ...
if (roles.Contains(XUserRole.Admin.GetStringValue().ToNormalString()))
{
result = XUserRole.Admin;
}
//
// ResponsibleManager ...
else if (roles.Contains(XUserRole.ResponsibleManager.GetStringValue().ToNormalString()))
{
result = XUserRole.ResponsibleManager;
}
//
// Journalist ...
else if (roles.Contains(XUserRole.Journalist.GetStringValue().ToNormalString()))
{
result = XUserRole.Journalist;
}
//
// ChiefClerk ...
else if (roles.Contains(XUserRole.ChiefClerk.GetStringValue().ToNormalString()))
{
result = XUserRole.ChiefClerk;
}
//
// ChiefClerkAssistant ...
else if (roles.Contains(XUserRole.ChiefClerkAssistant.GetStringValue().ToNormalString()))
{
result = XUserRole.ChiefClerkAssistant;
}
//
// Actuary ...
else if (roles.Contains(XUserRole.Actuary.GetStringValue().ToNormalString()))
{
result = XUserRole.Actuary;
}
//
// ActuaryAssistant ...
else if (roles.Contains(XUserRole.ActuaryAssistant.GetStringValue().ToNormalString()))
{
result = XUserRole.ActuaryAssistant;
}
//
// Reporter ...
else if (roles.Contains(XUserRole.Reporter.GetStringValue().ToNormalString()))
{
result = XUserRole.Reporter;
}
//
// ReporterAssistant ...
else if (roles.Contains(XUserRole.ReporterAssistant.GetStringValue().ToNormalString()))
{
result = XUserRole.ReporterAssistant;
}
//
// Agent ...
else if (roles.Contains(XUserRole.Agent.GetStringValue().ToNormalString()))
{
result = XUserRole.Agent;
}
//
// User ...
else if (roles.Contains(XUserRole.User.GetStringValue().ToNormalString()))
{
result = XUserRole.User;
}
else
{
XException.InvalidData.Throw();
}
//
return result;
}
/// <summary>
/// Check User Roles has Specified Permissions or not ...
/// </summary>
/// <param name="roles"></param>
/// <param name="role"></param>
/// <returns></returns>
public static bool HasRolePermissions(this IEnumerable<string> roles, XUserRole role)
{
//
// Validate ...
var result =
!roles.IsNull() &&
roles.HasChild();
if (!result)
{
return result;
}
//
try
{
//
var topRole = roles.GetTopRole();
//
result = (int)topRole >= (int)role;
}
catch
{
result = false;
}
//
return result;
}
public static bool HasRolePermissions(this IEnumerable<string> roles, string role)
{
//
// Validate ...
var result =
!roles.IsNull() &&
roles.HasChild() &&
!role.IsNullOrEmpty();
if (!result)
{
return result;
}
//
var roleEnum = role.ToXUserRole();
result = roles.HasRolePermissions(roleEnum);
//
return result;
}
}
}
+11
View File
@@ -0,0 +1,11 @@
# xSaherelmAI.xIdentityHelper
this module provide all Authorization Constants which used in xSaherElm AI project.
## Maintainer
Hadi Khazaee asl
[https://www.saherelm.ir](https://www.saherelm.ir)
[hadi_khazaee_asl@yahoo.com](mailto:hadi_khazaee_asl@yahoo.com)
+26
View File
@@ -0,0 +1,26 @@
using xExceptions.Attributes;
namespace xIdentityHelper {
public static class XApiScopeHelper {
public partial struct XApiScopes {
public const string Read = "XAPI.read";
public const string Write = "XAPI.write";
public const string Admin = "XAPI.admin";
public const string Manage = "manage";
}
public enum XApiScope {
[StringValue ("XAPI.read")]
Read,
[StringValue ("XAPI.write")]
Write,
[StringValue ("XAPI.admin")]
Admin,
[StringValue ("manage")]
Manage,
}
}
}
+607
View File
@@ -0,0 +1,607 @@
using System.Collections.Generic;
using IdentityModel;
using Microsoft.AspNetCore.Authorization;
using xCommons.Authorization;
using xCommons.Constants;
using xCommons.Extensions;
using static xIdentityHelper.XApiScopeHelper;
namespace xIdentityHelper
{
public class XAuthorizationHelper
{
public static IDictionary<string, AuthorizationPolicy> GetXAuthorizationPolicies()
{
//
var result = new Dictionary<string, AuthorizationPolicy>();
//
RequiredRolesRequirement roleRequirements = null;
//
#region Build Policies ...
//
// Scope Policies ...
#region Scope Policies ...
//
// Read Scope ...
result.Add(XPolicies.ReadAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(JwtClaimTypes.Scope, XApiScopes.Read)
.Build()
);
//
// Write Scope ...
result.Add(XPolicies.WriteAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiScopes.Read,
XApiScopes.Write
)
.Build()
);
//
// Admin Scope ...
result.Add(XPolicies.AdminAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiScopes.Read,
XApiScopes.Write,
XApiScopes.Admin
)
.Build()
);
//
// Manage Scope ...
result.Add(XPolicies.ManageAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiScopes.Read,
XApiScopes.Write,
XApiScopes.Admin,
XApiScopes.Manage
)
.Build()
);
#endregion
//
// Roles Policies ...
#region Roles Policies ...
//
// User ...
#region User Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.USER,
XUserRoles.AGENT,
XUserRoles.REPORTER_ASSISTANT,
XUserRoles.REPORTER,
XUserRoles.ACTUARY_ASSISTANT,
XUserRoles.ACTUARY,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// User Policy ...
result.Add(XPolicies.User,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled User Policy ...
result.Add(XPolicies.EnabledUser,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// Agent ...
#region Agent Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.AGENT,
XUserRoles.REPORTER_ASSISTANT,
XUserRoles.REPORTER,
XUserRoles.ACTUARY_ASSISTANT,
XUserRoles.ACTUARY,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// Agent Policy ...
result.Add(XPolicies.Agent,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled Agent Policy ...
result.Add(XPolicies.EnabledAgent,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// ReporterAssistant ...
#region Reporter Assistant Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.REPORTER_ASSISTANT,
XUserRoles.REPORTER,
XUserRoles.ACTUARY_ASSISTANT,
XUserRoles.ACTUARY,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// ReporterAssistant ...
result.Add(XPolicies.ReporterAssistant,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled ReporterAssistant ...
result.Add(XPolicies.EnabledReporterAssistant,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// Reporter ...
#region Reporter Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.REPORTER,
XUserRoles.ACTUARY_ASSISTANT,
XUserRoles.ACTUARY,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// Reporter ...
result.Add(XPolicies.Reporter,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled Reporter ...
result.Add(XPolicies.EnabledReporter,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// ActuaryAssistant ...
#region Actuary Assistant Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.ACTUARY_ASSISTANT,
XUserRoles.ACTUARY,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// ActuaryAssistant ...
result.Add(XPolicies.ActuaryAssistant,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled ActuaryAssistant ...
result.Add(XPolicies.EnabledActuaryAssistant,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// Actuary ...
#region Actuary Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.ACTUARY,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// Actuary ...
result.Add(XPolicies.Actuary,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled Actuary ...
result.Add(XPolicies.EnabledActuary,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// ChiefClerkAssistant ...
#region Chief Clerk Assistant Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// ChiefClerkAssistant ...
result.Add(XPolicies.ChiefClerkAssistant,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled ChiefClerkAssistant ...
result.Add(XPolicies.EnabledChiefClerkAssistant,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// ChiefClerk ...
#region Chief Clerk Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.CHIEF_CLERK,
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// ChiefClerk ...
result.Add(XPolicies.ChiefClerk,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled ChiefClerk ...
result.Add(XPolicies.EnabledChiefClerk,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// Journalist ...
#region Journalist Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.JOURNALIST,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// Journalist ...
result.Add(XPolicies.Journalist,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled Journalist ...
result.Add(XPolicies.EnabledJournalist,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// ResponsibleManager ...
#region Responsible Manager Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.ADMIN
);
//
// ResponsibleManager ...
result.Add(XPolicies.ResponsibleManager,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled ResponsibleManager ...
result.Add(XPolicies.EnabledResponsibleManager,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
//
// Admin ...
#region Admin Related Policies ...
//
roleRequirements = new RequiredRolesRequirement(
XUserRoles.ADMIN
);
//
// Admin Policy ...
result.Add(XPolicies.Admin,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.Build()
);
//
// Enabled Admin Policy ...
result.Add(XPolicies.EnabledAdmin,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(roleRequirements)
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
#endregion
//
// Complex Policies ...
#region AdminOrAgent Related Policies ...
//
// Admin Or Agent Policy ...
result.Add(XPolicies.AdminOrAgent,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(new RequiredRolesRequirement(
XUserRoles.ADMIN,
XUserRoles.AGENT
))
.Build()
);
//
// Enabled Admin Or Agent Policy ...
result.Add(XPolicies.EnabledAdminOrAgent,
new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddRequirements(new RequiredRolesRequirement(
XUserRoles.ADMIN,
XUserRoles.AGENT
))
.RequireClaim(
XCustomClaims.IsBanned,
false.ToString(),
false.ToString()
.ToNormalString()
)
.RequireClaim(
XCustomClaims.IsEnabled,
true.ToString(),
true.ToString()
.ToNormalString()
)
.Build()
);
#endregion
#endregion
//
return result;
}
}
}
+60
View File
@@ -0,0 +1,60 @@
namespace xIdentityHelper
{
public partial struct XPolicies
{
//
// Scopes ...
public const string ReadAccess = "readScopePolicy";
public const string WriteAccess = "writeScopePolicy";
public const string AdminAccess = "adminScopePolicy";
public const string ManageAccess = "manageScopePolicy";
//
// Admin ...
public const string Admin = "adminPolicy";
public const string EnabledAdmin = "enabledAdminPolicy";
//
// Responsible Manager ...
public const string ResponsibleManager = "responsibleManagerPolicy";
public const string EnabledResponsibleManager = "enabledResponsibleManagerPolicy";
//
// Journalist ...
public const string Journalist = "journalistPolicy";
public const string EnabledJournalist = "enabledJournalistPolicy";
//
// Chief Clerk ...
public const string ChiefClerk = "chiefClerkPolicy";
public const string EnabledChiefClerk = "enabledChiefClerkPolicy";
//
// Chief Clerk Assistant ...
public const string ChiefClerkAssistant = "chiefClerkAssistantPolicy";
public const string EnabledChiefClerkAssistant = "enabledChiefClerkAssistantPolicy";
//
// Actuary ...
public const string Actuary = "actuaryPolicy";
public const string EnabledActuary = "enabledActuaryPolicy";
//
// Actuary Assistant ...
public const string ActuaryAssistant = "actuaryAssistantPolicy";
public const string EnabledActuaryAssistant = "enabledActuaryAssistantPolicy";
//
// Reporter ...
public const string Reporter = "reporterPolicy";
public const string EnabledReporter = "enabledReporterPolicy";
//
// Reporter Assistant ...
public const string ReporterAssistant = "reporterAssistantPolicy";
public const string EnabledReporterAssistant = "enabledReporterAssistantPolicy";
//
// Agent ...
public const string Agent = "agentPolicy";
public const string EnabledAgent = "enabledAgentPolicy";
//
// User ...
public const string User = "userPolicy";
public const string EnabledUser = "enabledUserPolicy";
//
// Complex Policies ...
public const string AdminOrAgent = "adminOrAgentPolicy";
public const string EnabledAdminOrAgent = "enabledAdminOrAgentPolicy";
}
}
+157
View File
@@ -0,0 +1,157 @@
using System.Collections.Generic;
using xExceptions.Attributes;
namespace xIdentityHelper
{
public partial struct XUserRoles
{
/// <summary>
/// Must Top Role of System ...
/// </summary>
public const string ADMIN = "admin";
/// <summary>
/// مدیر مسئول
/// </summary>
public const string RESPONSIBLE_MANAGER = "responsible_manager";
/// <summary>
/// روزنامه نگار
/// </summary>
public const string JOURNALIST = "journalist";
/// <summary>
/// سر دبیر
/// </summary>
public const string CHIEF_CLERK = "chief_clerk";
/// <summary>
/// دستیار سرد بیر
/// </summary>
public const string CHIEF_CLERK_ASSISTANT = "chief_clerk_assistant";
/// <summary>
/// دبیر
/// </summary>
public const string ACTUARY = "actuary";
/// <summary>
/// دستیار دبیر
/// </summary>
public const string ACTUARY_ASSISTANT = "actuary_assistant";
/// <summary>
/// خبرنگار
/// </summary>
public const string REPORTER = "reporter";
/// <summary>
/// دستیار خبرنگار
/// </summary>
public const string REPORTER_ASSISTANT = "reporter_assistant";
/// <summary>
/// دستیار
/// </summary>
public const string AGENT = "agent";
/// <summary>
/// کاربر
/// </summary>
public const string USER = "user";
}
public enum XUserRole
{
/// <summary>
/// Must Top Role of System ...
/// </summary>
[StringValue("admin")]
Admin = 10,
/// <summary>
/// مدیر مسئول
/// </summary>
[StringValue("responsible_manager")]
ResponsibleManager = 9,
/// <summary>
/// روزنامه نگار
/// </summary>
[StringValue("journalist")]
Journalist = 8,
/// <summary>
/// سر دبیر
/// </summary>
[StringValue("chief_clerk")]
ChiefClerk = 7,
/// <summary>
/// دستیار سرد بیر
/// </summary>
[StringValue("chief_clerk_assistant")]
ChiefClerkAssistant = 6,
/// <summary>
/// دبیر
/// </summary>
[StringValue("actuary")]
Actuary = 5,
/// <summary>
/// دستیار دبیر
/// </summary>
[StringValue("actuary_assistant")]
ActuaryAssistant = 4,
/// <summary>
/// خبرنگار
/// </summary>
[StringValue("reporter")]
Reporter = 3,
/// <summary>
/// دستیار خبرنگار
/// </summary>
[StringValue("reporter_assistant")]
ReporterAssistant = 2,
/// <summary>
/// دستیار
/// </summary>
[StringValue("agent")]
Agent = 1,
/// <summary>
/// کاربر
/// </summary>
[StringValue("user")]
User = 0
}
public static class XUserRoleHelper
{
public static List<string> GetAllRoles()
{
//
var result = new List<string>
{
XUserRoles.ADMIN,
XUserRoles.RESPONSIBLE_MANAGER,
XUserRoles.JOURNALIST,
XUserRoles.CHIEF_CLERK,
XUserRoles.CHIEF_CLERK_ASSISTANT,
XUserRoles.ACTUARY,
XUserRoles.ACTUARY_ASSISTANT,
XUserRoles.REPORTER,
XUserRoles.REPORTER_ASSISTANT,
XUserRoles.AGENT,
XUserRoles.USER
};
//
return result;
}
}
}
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="liget" value="https://nuget.saherelmhub.ir/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
+28
View File
@@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<!-- Runtime Definitions -->
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageId>xSaherelmAI.xIdentityHelper</PackageId>
<Version>1.0.0</Version>
<Authors>Hadi Khazaee Asl</Authors>
<Company>SaherElm IT Center</Company>
<Description>
this module provide all Authorization Constants which used in xSaherElm AI project.
</Description>
<!-- Icon Definition -->
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>
<!-- Icon Handling -->
<ItemGroup>
<None Include="../../Documents/Resources/Images/favicon.png" Link="icon.png" Pack="true"
PackagePath="\icon.png" />
</ItemGroup>
<!-- Local Dependencies -->
<ItemGroup>
<PackageReference Include="xDashboard.xIdentityService" Version="1.0.0" />
<!-- <ProjectReference Include="../xIdentityService/xIdentityService.csproj" /> -->
</ItemGroup>
</Project>