Как получить идентификатор пользователя с asp.net Identity - PullRequest
0 голосов
/ 13 марта 2019

Я работаю над проектом, который использует Identity для хранения информации о пользователе.

Итак, у меня есть форма, которая позволяет мне отправлять данные, и информация сохраняется в базе данных.Но у меня есть возможность разрешить анонимность пользователя.Мне было интересно, как получить идентификатор пользователя, чтобы я мог применить его в своем операторе if-else в начале следующего кода.

 protected void AddPost(object sender, EventArgs e)
        {


            var User = System.Web.HttpContext.Current.User.Identity.;
            if (Convert.ToBoolean(Int32.Parse(inputAnonymous.SelectedValue)))
            {
                User = "";
            }

            Post newPost = new Post()
            {
                postTitle = inputTitle.Text,
                postBody = inputBody.Text,
                postDescription = inputDescription.Text,
                postCategory = inputCategory.SelectedValue,
                postAnonymous = Convert.ToBoolean(Int32.Parse(inputAnonymous.SelectedValue)),
                Id = User
            };

            using (var _dbContext = new ApplicationDbContext())
            {
                _dbContext.Posts.Add(newPost);
                _dbContext.SaveChanges();
            }
        }

Я знаю, что если я использую

 var User = System.Web.HttpContext.Current.User.Identity.Name;

Тогда он получит имя пользователя пользователя (в данном контексте электронная почта, а не идентификатор пользователя).

1 Ответ

0 голосов
/ 13 марта 2019

Предполагая, что вы не используете ядро ​​Asp.Net.

есть метод расширения GetUserId, который должен вам помочь.

Поскольку это метод расширения, вам нужно добавить оператор использования.

using Microsoft.AspNet.Identity

strCurrentUserId = User.Identity.GetUserId()

Это пространство имен можно найти вMicrosoft.AspNet.Identity.IdentityExtensions

Надеюсь, это поможет.

...