2013-05-23 35 views
7

मेरे पास यह सत्यापित करने के लिए निम्न कोड है कि उपयोगकर्ता के पास एप्लिकेशन तक पहुंच है या नहीं। समस्या System.Web.HttpContext.Current.User.Identity.Name खाली है। मैंने जाँचा। क्या समस्या हो सकती है? मेरा अन्य एप्लिकेशन एक ही कोड स्निपेट का उपयोग करता है और यह वहां काम करता है। ये क्यों हो रहा है?System.Web.HttpContext.Current.User.Identity.Name एक खाली स्ट्रिंग क्यों देता है?

string username = System.Web.HttpContext.Current.User.Identity.Name; 
string str = "SELECT LASTNAME +', '+ FIRSTNAME AS NAME, USER_NAME, DEPARTMENT FROM DBNAME.DBO.TABLENAME WHERE USER_NAME = '" + username + "' "; 
SqlCommand cmd = new SqlCommand(str, conn); 
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
if (rdr.HasRows == false) 
{ 

     Server.Transfer("unauthorized.htm"); 
} 
else 
{ 
    while (rdr.Read()) 
    { 
     name = rdr["NAME"].ToString(); 
     username = rdr["USER_NAME"].ToString(); 
     dept = rdr["DEPARTMENT"].ToString(); 
    } 
} 
+0

इस कोड को एक ASP.net अनुप्रयोग से लिया है? –

+0

क्या दोनों ऐप्स अपनी खुद की प्रमाणीकरण स्थिति प्रबंधित करते हैं? –

+0

शायद हमें अपना वेब.कॉन्फिग – Aron

उत्तर

5

ऐसा लगता है कि आपके पास एक अनाम उपयोगकर्ता है।

<system.web> 
    <authorization> 
    <deny users="?" /> 
    </authorization> 
</system.web> 
+0

यह सिर्फ मुझे सर्वर त्रुटि 401 देता है - अनधिकृत: अमान्य प्रमाण-पत्रों के कारण एक्सेस अस्वीकार कर दी गई है। – Artemis

+3

क्या आईआईएस विंडोज प्रमाणीकरण का उपयोग करने के लिए कॉन्फ़िगर किया गया है और क्या आपके पास web.config में '<प्रमाणीकरण मोड =" विंडोज़ "/>' है? – Joe

+0

हां और हां। यह सिर्फ अजीब है। मेरे अन्य आवेदन में एक ही कोड है। और यह ठीक काम करता है। – Artemis

0

आप आईआईएस एक्सप्रेस के साथ विंडोज authetication का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप सी में कर दिया है: आप अनाम उपयोगकर्ताओं अनुमति देने के लिए नहीं करना चाहते हैं, web.config के लिए निम्न जोड़ने \ उपयोगकर्ता \ [उपयोगकर्ता नाम] \ दस्तावेज़ \ IISExpress \ config \ applicationhost.config।

चेक संबंधित सवाल: IIS Express gives Access Denied error when debugging ASP.NET MVC

संबंधित मुद्दे