public instructor_list() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.InstructorManage) }; template = new ListTemplate(); var cargs = new CreateArgs("api/auth/instructors/", User.Api, "创建辅导员用户", Margin: new Thickness(0, 10, 0, 10)); cargs.items.Add(new CreateArgs.Item("username", "工号", "text")); cargs.items.Add(new CreateArgs.Item("password", "密码", "text")); cargs.items.Add(new CreateArgs.Item("name", "姓名", "text")); cargs.items.Add(new CreateArgs.Item("gender", "性别", "choice", data: gender_choices.ToArray())); var args = new ListArgs("api/auth/instructors/", User.Api, Title, Searchable: true, Createable: true, Createargs: cargs); args.columns.Add(new ListArgs.Column("id", "工号", ordering: "id", hyperlink: ListArgs.autohyperlink("instructor-other-document").add("id").lambda)); args.columns.Add(new ListArgs.Column("user", "姓名", ordering: "username", hyperlink: ListArgs.autohyperlink("instructor-other-document").add("id").lambda)); args.columns.Add(new ListArgs.Column("gender_related", "性别", type: "choice", data: gender_choices)); template.Construct(args); ContentGrid.Children.Add(template); }
public class_list() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.ClassManage) }; template = new ListTemplate(); var cargs = new CreateArgs("api/classes/", User.Api, "创建班级", Margin: new Thickness(0, 10, 0, 10)); cargs.items.Add(new CreateArgs.Item("id", "班级编号", "text")); cargs.items.Add(new CreateArgs.Item("grade", "年级", "text")); cargs.items.Add(new CreateArgs.Item("college", "学院", "text")); cargs.items.Add(new CreateArgs.Item("major", "专业", "text")); cargs.items.Add(new CreateArgs.Item("number", "班级", "text")); cargs.items.Add(new CreateArgs.Item("as_instructor_set", "辅导员列表(工号)", "multitext")); cargs.items.Add(new CreateArgs.Item("as_student_set", "学生列表(学号)", "multitext")); var args = new ListArgs("api/classes/", User.Api, Title, Searchable: true, Createable: true, Createargs: cargs); args.columns.Add(new ListArgs.Column("id", "班级编号", hyperlink: ListArgs.autohyperlink("class-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("grade", "年级", ordering: "grade")); args.columns.Add(new ListArgs.Column("college", "学院", ordering: "college")); args.columns.Add(new ListArgs.Column("major", "专业", ordering: "major")); args.columns.Add(new ListArgs.Column("number", "班级", ordering: "number")); template.Construct(args); ContentGrid.Children.Add(template); }
public static string BuildToken(this User user, AuthSetting authSetting, IList <string> roles) { var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, user.UserName), //Jti: JTW token id là 1 unique id, đảm bảo cái token ko bị ăn cắp new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id), new Claim(ClaimTypes.Name, user.UserName) }; //payload claims.AddRange(roles.Select(role => new Claim(ClaimsIdentity.DefaultRoleClaimType, role))); //Chuyển chuỗi authSetting.Secret thành 1 mảng bytes rồi encoding(mã hóa) nó theo chuẩn UTF8 var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(authSetting.Secret)); //where header? var crediential = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); //signature? var token = new JwtSecurityToken( issuer: authSetting.Issuer, audience: authSetting.Audience, claims: claims, expires: DateTime.Now.AddMinutes(authSetting.AccessExpiration), signingCredentials: crediential ); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public classroom_list() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.ClassroomManage) }; template = new ListTemplate(); var cargs = new CreateArgs("api/classrooms/basic/", User.Api, "创建教室", Margin: new Thickness(0, 10, 0, 10)); cargs.items.Add(new CreateArgs.Item("id", "教室编号", "text")); cargs.items.Add(new CreateArgs.Item("name", "教室名称", "text")); cargs.items.Add(new CreateArgs.Item("size", "教室大小", "text")); cargs.items.Add(new CreateArgs.Item("password", "教室密码", "text")); var args = new ListArgs("api/classrooms/basic/", User.Api, Title, Searchable: true, Createable: true, Createargs: cargs); args.columns.Add(new ListArgs.Column("id", "教室编号", hyperlink: ListArgs.autohyperlink("classroom-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("name", "教室名称", ordering: "name", hyperlink: ListArgs.autohyperlink("classroom-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("size", "教室大小", ordering: "size")); template.Construct(args); ContentGrid.Children.Add(template); }
public password() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.UserManage) }; }
public course_list() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.CourseManage) }; template = new ListTemplate(); var cargs = new CreateArgs("api/courses/basic/", User.Api, "创建课程", Margin: new Thickness(0, 10, 0, 10)); cargs.items.Add(new CreateArgs.Item("id", "课程编号", "text")); cargs.items.Add(new CreateArgs.Item("name", "课程名称", "text")); cargs.items.Add(new CreateArgs.Item("teacher", "教师(工号)", "text")); cargs.items.Add(new CreateArgs.Item("as_student_set", "学生列表(学号)", "multitext")); var args = new ListArgs("api/courses/basic/", User.Api, Title, Searchable: true, Createable: true, Createargs: cargs); args.columns.Add(new ListArgs.Column("id", "课程编号", ordering: "id", hyperlink: ListArgs.autohyperlink("course-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("name", "课程名称", ordering: "name", hyperlink: ListArgs.autohyperlink("course-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("teacher", "任课教师", ordering: "teacher", hyperlink: ListArgs.autohyperlink("teacher-other-document").add("id", "teacher").lambda)); template.Construct(args); ContentGrid.Children.Add(template); }
public admin_schedule() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.Admin) }; template = new ListTemplate(); var cargs = new CreateArgs("api/schedule/system-schedules/", User.Api, "创建时间表", Margin: new Thickness(0, 10, 0, 10)); cargs.items.Add(new CreateArgs.Item("year", "学年", "text")); cargs.items.Add(new CreateArgs.Item("term", "学期", "text")); cargs.items.Add(new CreateArgs.Item("begin", "开始时间", "text")); cargs.items.Add(new CreateArgs.Item("end", "结束时间", "text")); var args = new ListArgs("api/schedule/system-schedules/", User.Api, Title, Searchable: true, Createable: true, Createargs: cargs); args.columns.Add(new ListArgs.Column("id", "编号", ordering: "id", hyperlink: ListArgs.autohyperlink("admin-admin-schedule-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("year", "学年")); args.columns.Add(new ListArgs.Column("term", "学期")); args.columns.Add(new ListArgs.Column("begin", "开始时间")); args.columns.Add(new ListArgs.Column("end", "结束时间")); template.Construct(args); ContentGrid.Children.Add(template); }
public AuthenticationListener(IHttpContextAccessor contextAccessor, IOptions <AuthSetting> authSetting, HttpClient httpClient) { _httpContextAccessor = contextAccessor; _authSetting = authSetting.Value; _httpClient = httpClient; }
public AuthService(UserManager <User> userManager , SignInManager <User> signInManager, IOptions <AuthSetting> options, ApplicationDbContext dbContext) { _userManager = userManager; _signInManager = signInManager; _settings = options.Value; _dbContext = dbContext; }
public AppAuthService(IEntityService <UserAccount> entityService, IEntityService <RealEstate> estateEntityService, IOptions <AuthSetting> authOptions, IOptions <AppSetting> appOptions, IPasswordService passwordService, IFastHasher hasher, IUserGroupProvider groupProvider) { _entityService = entityService; _estateEntityService = estateEntityService; _passwordService = passwordService; _hasher = hasher; _groupProvider = groupProvider; _authSetting = authOptions.Value; _appSetting = appOptions.Value; }
private void ConfigureOthers() { m_AuthSetting = m_Configuration.GetSection("IdentityServer").Get <AuthSetting>(); m_FileServiceSetting = m_Configuration.GetSection("FileService").Get <FileServiceSetting>(); JsonConvert.DefaultSettings = () => new JsonSerializerSettings { DateTimeZoneHandling = DateTimeZoneHandling.Unspecified, DateFormatString = MyConstants.DateTimeFormatter.HyphenLongDateTime }; }
public override bool NavigatingToEvent(object sender, IDictionary <string, object> kwargs) { if (kwargs != null) { ID = kwargs["id"] as string; } if (ID != null) { default_auth = new AuthSetting[] { new AuthSetting(Authority.CourseManage), new AuthSetting(BelongRelation.Parent, "course", ID) }; } return(base.NavigatingToEvent(sender, kwargs)); }
public modify() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.CourseManage) }; template = new InstanceTemplate(); var args = new InstanceArgs("api/courses/basic/", null, User.Api, Title, Onlywrite: true); args.items.Add(new InstanceArgs.Item("id", "课程编号", "text")); args.items.Add(new InstanceArgs.Item("name", "课程名称", "text")); args.items.Add(new InstanceArgs.Item("teacher", "教师(工号)", "text")); args.items.Add(new InstanceArgs.Item("as_student_set", "学生(工号)", "multitext")); template.Construct(args); ContentGrid.Children.Add(template); }
public override bool NavigatingToEvent(object sender, IDictionary <string, object> kwargs) { if (kwargs == null && ID == null) { return(false); } if (kwargs != null) { ID = kwargs["id"] as string; default_auth = new AuthSetting[] { new AuthSetting(BelongRelation.Sub, "class", ID), new AuthSetting(BelongRelation.Parent, "class", ID), new AuthSetting(Authority.ClassManage), }; } return(base.NavigatingToEvent(sender, kwargs)); }
public AccountService(IUnitOfWork unitOfWork , IMapper mapper , IRedisCacheService redisCache , IHttpContextAccessor httpContextAccessor , IOptions <AuthSetting> authSetting , IOptions <ResetPasswordSetting> resetPasswordSetting , IFileService fileService , IRoleService roleService) : base(unitOfWork, mapper, redisCache, httpContextAccessor) { userRepo = unitOfWork.Repository <User>(); tokenExpiredInDay = 15; this.authSetting = authSetting.Value; this.roleService = roleService; this.resetPasswordSetting = resetPasswordSetting.Value; this.fileService = fileService; }
public manager_document() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.StudentManage) }; //txt_gender.Choices = gender_choices; template = new InstanceTemplate(); var args = new InstanceArgs("api/auth/users/", null, User.Api, Title, Deleteable: true, Onlywrite: true); args.margin = new Thickness(0, 10, 0, 10); args.items.Add(new InstanceArgs.Item("name", "姓名", "text")); args.items.Add(new InstanceArgs.Item("gender", "性别", "choice", data: gender_choices.ToArray())); template.Construct(args); ContentGrid.Children.Add(template); }
public modify() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.ClassManage) }; template = new InstanceTemplate(); var args = new InstanceArgs("api/classes/", null, User.Api, Title, Onlywrite: true); args.items.Add(new InstanceArgs.Item("id", "班级编号", "text")); args.items.Add(new InstanceArgs.Item("grade", "年级", "text")); args.items.Add(new InstanceArgs.Item("college", "学院", "text")); args.items.Add(new InstanceArgs.Item("major", "专业", "text")); args.items.Add(new InstanceArgs.Item("number", "班号", "text")); args.items.Add(new InstanceArgs.Item("as_instructor_set", "辅导员(工号)", "multitext")); args.items.Add(new InstanceArgs.Item("as_student_set", "学生(学号)", "multitext")); template.Construct(args); ContentGrid.Children.Add(template); }
public self_attendances() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.Student) }; template = new ListTemplate(); var args = new ListArgs("api/record/attendance-records/", User.Api, Title, Searchable: true); args.columns.Add(new ListArgs.Column("id", "编号")); args.columns.Add(new ListArgs.Column("date", "日期")); args.columns.Add(new ListArgs.Column("course_number", "节次")); args.columns.Add(new ListArgs.Column("status", "状态")); args.columns.Add(new ListArgs.Column("course_manage", "课程编号", hyperlink: ListArgs.autohyperlink("course-instance").add("id", "course_manage").lambda)); template.Construct(args); ContentGrid.Children.Add(template); }
public self_teacher() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.Office) }; template = new ListTemplate(); var args = new ListArgs("api/auth/teachers/", User.Api, Title, Searchable: true); args.columns.Add(new ListArgs.Column("id", "工号", ordering: "id", hyperlink: ListArgs.autohyperlink("teacher-other-document").add("id").lambda)); args.columns.Add(new ListArgs.Column("user", "姓名", ordering: "username", hyperlink: ListArgs.autohyperlink("teacher-other-document").add("id").lambda)); args.columns.Add(new ListArgs.Column("gender_related", "性别", type: "choice", data: gender_choices)); template.Construct(args); ContentGrid.Children.Add(template); }
public static string BuildToken(this Customer customer, AuthSetting authSetting) { List <Claim> claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, customer.Username), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.NameIdentifier, customer.Id.ToString()), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(authSetting.Secret)); var crediential = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: authSetting.Issuer, audience: authSetting.Audience, claims: claims, expires: DateTime.Now.AddMinutes(authSetting.AccessExpiration), signingCredentials: crediential ); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public course_list() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.Teacher), new AuthSetting(Authority.Office), }; template = new ListTemplate(); var args = new ListArgs("api/courses/basic/", User.Api, Title, Searchable: true); args.columns.Add(new ListArgs.Column("id", "课程编号", ordering: "id", hyperlink: ListArgs.autohyperlink("course-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("name", "课程名称", ordering: "name", hyperlink: ListArgs.autohyperlink("course-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("teacher", "任课教师", ordering: "teacher", hyperlink: ListArgs.autohyperlink("teacher-other-document").add("id", "teacher").lambda)); template.Construct(args); ContentGrid.Children.Add(template); }
public class_list() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.Office), new AuthSetting(Authority.Instructor) }; template = new ListTemplate(); var args = new ListArgs("api/classes/", User.Api, Title, Searchable: true); args.columns.Add(new ListArgs.Column("id", "班级编号", hyperlink: ListArgs.autohyperlink("class-instance").add("id").lambda)); args.columns.Add(new ListArgs.Column("grade", "年级", ordering: "grade")); args.columns.Add(new ListArgs.Column("college", "学院", ordering: "college")); args.columns.Add(new ListArgs.Column("major", "专业", ordering: "major")); args.columns.Add(new ListArgs.Column("number", "班级", ordering: "number")); template.Construct(args); ContentGrid.Children.Add(template); }
public modify() { InitializeComponent(); default_auth = new AuthSetting[] { new AuthSetting(Authority.ClassroomManage) }; template = new InstanceTemplate(); var args = new InstanceArgs("api/classrooms/basic/", null, User.Api, Title, Onlywrite: true); args.items.Add(new InstanceArgs.Item("id", "教室编号", "text")); args.items.Add(new InstanceArgs.Item("name", "教室名称", "text")); args.items.Add(new InstanceArgs.Item("size", "教室大小", "text")); template.Construct(args); ContentGrid.Children.Add(template); pw_temp = new InstanceTemplate(); var pargs = new InstanceArgs("api/classrooms/manage/", null, User.Api, "教室验证码", Deleteable: false); pargs.items.Add(new InstanceArgs.Item("password", "验证码", "text", Editable: EditAbleStatus.Writeable)); pw_temp.Construct(pargs); PwGrid.Children.Add(pw_temp); }
public static string BuildToken(this User user, AuthSetting authSetting) { List <Claim> claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id), }; //payload //Chuyển chuỗi authSetting.Secret thành 1 mảng bytes rồi encoding(mã hóa) nó theo chuẩn UTF8 var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(authSetting.Secret)); //where header? var crediential = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); //signature? var token = new JwtSecurityToken( issuer: authSetting.Issuer, audience: authSetting.Audience, claims: claims, expires: DateTime.Now.AddMinutes(authSetting.AccessExpiration), signingCredentials: crediential ); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public AuthController(DataContext context, IOptions <AuthSetting> authSettings) { _context = context; _authSettings = authSettings.Value; }
public static void AddIdentityConfiguration(this IServiceCollection services, AuthSetting authSetting) { services.AddIdentity <User, IdentityRole>(options => { options.Password.RequireNonAlphanumeric = false; //ký tự đặt biệt options.Password.RequireUppercase = false; options.Password.RequireDigit = true; options.Password.RequiredLength = 6; options.Password.RequireLowercase = true; }) .AddEntityFrameworkStores <ResellTicketDbContext>() // public virtual DbSet<Ticket> Name { get; set; } .AddDefaultTokenProviders(); // JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); services.AddAuthentication(options => { options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(options => { options.RequireHttpsMetadata = false; options.SaveToken = true; options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(authSetting.Secret)), ValidIssuer = authSetting.Issuer, ValidAudience = authSetting.Audience, }; }); //services.AddAuthorization(options => //{ // options.AddPolicy() //}) }
public TerminalEquipmentConnectivityUpdatedSubscription(TerminalEquipmentConnectivityObserver terminalEquipmentConnectivityObserver, IOptions <AuthSetting> authSetting) { _terminalEquipmentConnectivityObserver = terminalEquipmentConnectivityObserver; _authSetting = authSetting.Value; }
public SchematicUpdatedSubscription(SchematicDiagramObserver schematicDiagramObserver, IOptions <AuthSetting> authSetting) { _schematicDiagramObserver = schematicDiagramObserver; _authSetting = authSetting.Value; }