Пример #1
0
        protected override async Task HandleRequirementAsync(AuthorizationHandlerContext context, AdminRequirement requirement)
        {
            var userName = context.User.Identity.Name;

            if (userName == null)
            {
                return;
            }

            var user = await _context.Users.FirstOrDefaultAsync(u => u.Name.Equals(userName));

            if (user == null)
            {
                _context.Users.Add(new User()
                {
                    Name = userName
                });
                await _context.SaveChangesAsync();

                return;
            }

            if (user.IsAdmin)
            {
                context.Succeed(requirement);
            }
        }
Пример #2
0
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.News.Add(NewsItem);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }