2013-05-28 56 views
4

我們用簡單的窗體身份驗證在我們的網站網址是區分大小寫的行動

</authentication>  
    <forms name=".CXqJkTcZWBHJ" cookieless="UseDeviceProfile" domain=".mydomain.com" slidingExpiration="true" protection="All"> 
    <credentials passwordFormat="SHA1" /> 
    </forms> 
</authentication> 

現在我有一個MVC的動作可以由外部程序調用。對於這個動作,我不想要求認證。 我們稱之爲:http:dev.mydomain.com/AgencyService/GetAgent/0001800 但是,如果上面url中的「AgencyService」部分在任何其他情況下輸入,則重定向到登錄頁面:http:dev .mydomain.com/agencyservice/GetAgent/0001800

任何想法爲什麼?

我排除了路線,因爲這樣也可以工作:HTTP:dev.mydomain.com/AgencyService/GetAgent agencyid = 0001800 而且這種方式也行不通:HTTP:dev.mydomain.com/agencyservice/GetAgent ?agencyid = 0001800

注意:我使用'mydomain'重新填寫了我的域名以隱藏我的域名。

+0

你能從你的'Global.asax.cs'發佈你的路線嗎? –

+0

儘管您的示例並未指出您爲窗體auth cookie指定了任何「路徑」,但Cookie路徑*區分大小寫。所以如果你有一個叫做*/getagent *的cookie路徑,那麼如果用戶訪問了*/GetAgent *,它就會出現這種行爲。 – Snixtor

回答

0

在我們的AuthorizeRequest子文件中,我們有一個白名單,我們正在比較,但沒有與StringComparison.OrdinalIgnoreCase進行比較。一旦我添加它,它解決了這個問題。