使用jquery从另一个应用程序读取声明

时间:2016-05-06 07:33:58

标签: javascript c# asp.net asp.net-mvc asp.net-mvc-4

我在MVC应用程序中的静态类中有一个静态方法返回用户声明,当我直接访问此应用程序的url时,我得到了这些值,但是当我使用Javascript从另一个应用程序访问应用程序URL时,它没有返回什么。我没有得到任何错误。它返回空的结果。我也没有得到CORS问题。我怀疑它是与身份验证相关的事情。传递用户凭据,两个站点都在相同的ADFS配置下

public static UserDetails GetUserDetails()
        {
            var userdetails = new UserDetails();

            var objClaims = ((ClaimsIdentity)Thread.CurrentPrincipal.Identity).Claims;

            foreach(var c in objClaims)
            {

                else if (c.Type == ConstantsHelper.emailAddress)
                {
                    userdetails.Email = c.Value;
                }
                else if (c.Type == ConstantsHelper.userName)
                {
                    userdetails.UserName = c.Value;
                }
                else if (c.Type == ConstantsHelper.shortName)
                {
                    userdetails.ShortName = c.Value;
                }
            }
            return userdetails;
        }

从其他应用程序访问它的代码。

function GetLoggedInUsermethod() {
        var url = GetLoggedInUser;
        $.ajax({
            type: "GET",
            url: url,
            crossDomain: true,
            success: function (json) {


            },
            error: function (e) {

            }

        });
    }

1 个答案:

答案 0 :(得分:0)

如果调用应用程序托管在不同的域中(不同的端口将符合不同的域),则可能需要将Access-Control-Allow-Origin标头添加到响应中,并将值设置为调用应用程序&#39 ; s域名用于成功调用。

更多详情here