自定义属性的Asp.net MVC5方法

时间:2014-04-01 13:22:55

标签: asp.net-mvc identity

您好我在我的项目中使用身份,我可以使用以下代码部分轻松获取_layout页面上用户的用户名:

@User.Identity.GetUserName

但我有更多属性可以获得。这是我的扩展用户类..

using Microsoft.AspNet.Identity.EntityFramework;
using ModulericaV1.Areas.Hr.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

namespace ModulericaV1.Models
{
    public class ApplicationUser : IdentityUser
    {
        public ApplicationUser()
            : base()
        {
            this.Groups = new HashSet<ApplicationUserGroup>();
        }

        [Required]
        public string FirstName { get; set; }

        [Required]
        public string LastName { get; set; }

        [Required]
        public string Email { get; set; }

        public virtual ICollection<ApplicationUserGroup> Groups { get; set; }

        public int? HrPersonId { get; set; }
        public virtual HrPerson HrPerson { get; set; }

    }
}

我正在尝试实现GetUserName之类的方法,但我真的无法启动,因为我找不到定义。

这是我调试代码时的定义。但我错过了一些东西。

namespace Microsoft.AspNet.Identity
{
    public static class IdentityExtensions
    {
        public static string FindFirstValue(this ClaimsIdentity identity, string claimType);
        public static string GetUserId(this IIdentity identity);
        public static string GetUserName(this IIdentity identity);
    }
}

我的主要问题是:如何编写获取电子邮件或HrPerson属性的方法。

0 个答案:

没有答案