我在请求的控制器操作中添加了AllowOrigin自定义属性。请参阅以下功能:
public class **AllowCrossSiteJsonAttribute** : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
base.OnActionExecuting(filterContext);<br>
}
}
[**AllowCrossSiteJson**]
public partial class OneBillSummaryController : UXPControllerBase
{
public OneBillSummaryController()
: base(ApplicationType.Home,
new QueryParameters() { appliesTo="Index", parameters=
new Dictionary<string, QueryParameter>() {
{ "BAN", new QueryParameter() },
{ "SeqNo", new QueryParameter() },
{ "CID", new QueryParameter() {values="cc,ss,r"} },
{ "Lang", new QueryParameter() {values="fr,en"}},
{ "TID", new QueryParameter(){isOptional=true} }
}})
{
}
直到这里,我才能得到结果,但是这个动作将进行表单身份验证(浏览器中已存在cookie),另一个URL / Controller-Action将调用(内部的另一个URL请求)。
我正在坚持以下错误。请参阅下面的SS:
XMLHttpRequest无法加载
的 http://local-mybell-b.ids.int.bell.ca/UXP/Bill/OneBill/?BAN=101465254&SeqNo=0&CID=r&TID=&Lang=en 即可。
该请求被重定向到
&#39;的 http://local-mybell-b.ids.int.bell.ca/sso/ssoauth.aspx?ReturnUrl=%2fUXP%2fB ... D0%26CID%3DR%26TID%3D%26Lang%3den&安培; BAN = 101465254&安培;的SeqNo = 0&安培; CID =的R&amp; TID =安培;郎= EN &#39 ;,
对于需要的跨源请求,不允许 预检。
为该身份验证操作添加了相同的CROS,但没有运气。