2002-03-05 Gaurav Vaish <gvaish@iitk.ac.in>
[mono.git] / mcs / class / System.Web / System.Web.Security / FormsAuthentication.cs
1 /**\r
2  * Namespace: System.Web.Security\r
3  * Class:     FormsAuthentication\r
4  * \r
5  * Author:  Gaurav Vaish\r
6  * Maintainer: gvaish@iitk.ac.in\r
7  * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
8  * Implementation: yes\r
9  * Status:  ??%\r
10  * \r
11  * (C) Gaurav Vaish (2002)\r
12  */\r
13 \r
14 using System;\r
15 using System.Web;\r
16 using System.Web.Configuration;\r
17 \r
18 namespace System.Web.Security\r
19 {\r
20         public sealed class FormsAuthentication\r
21         {\r
22                 private static formsCookieName;\r
23                 private static formsCookiePath;\r
24                 \r
25                 private static bool isIntialized = false;\r
26 \r
27                 public FormsAuthentication()\r
28                 {\r
29                 }\r
30                 \r
31                 public static string FormsCookieName\r
32                 {\r
33                         get\r
34                         {\r
35                                 Initialize();\r
36                                 return formsCookieName;\r
37                         }\r
38                 }\r
39                 \r
40                 public static string FormsCookiePath\r
41                 {\r
42                         get\r
43                         {\r
44                                 Initialize();\r
45                                 return formsCookiePath;\r
46                         }\r
47                 }\r
48                 \r
49                 [MonoTODO]\r
50                 public static bool Authenticate(string name, string password)\r
51                 {\r
52                         if(name != null && password != null)\r
53                         {\r
54                                 Initialize();\r
55                                 AuthenticationConfig cfg = (AuthenticatonConfig)HttpContext.Current.GetConfig("system.web/authentication");\r
56                                 Hashtable db = cfg.Credentials;\r
57                                 if(db == null)\r
58                                 {\r
59                                         //TraceBack("No_user_database");\r
60                                         return false;\r
61                                 }\r
62                                 string passwd = (String)(db[name.ToLower()]);\r
63                                 if(passwd == null)\r
64                                 {\r
65                                         //Traceback("No_user_in_databse")\r
66                                         return false;\r
67                                 }\r
68                                 throw new NotImplementedException();\r
69                                 /*\r
70                                 switch(cfg.PasswordFormat)\r
71                                 {\r
72                                         \r
73                                 }*/\r
74                         }\r
75                         return false;\r
76                 }\r
77                 \r
78                 [MonoTODO]\r
79                 public static FormsAuthenticationTicket Decrypt(string encryptedTicket)\r
80                 {\r
81                         if(encryptedTicket == null || encryptedTicket.Length == 0)\r
82                         {\r
83                                 throw new HttpException(HttpRuntime.FormatResourceString("InvalidArgumentValue", "encryptedTicket"));\r
84                         }\r
85                         Initialize();\r
86                         //Traceack("Decrypting cookie:" + encryptedTicket);\r
87                         byte[] bytes = HexStringToBytesArray(encryptedTicket);\r
88                         if(bytes == null || bytes.Length == 0)\r
89                         {\r
90                                 throw new HttpException(HttpRuntime.FormatResourceString("InvalidArgumentValue", "encryptedTicket"));\r
91                         }\r
92                         throw new NotImplementedException();\r
93                 }\r
94                 \r
95                 private byte[] HexStringToBytesArray(string str)\r
96                 {\r
97                         throw new NotImplementedException();\r
98                 }\r
99                 \r
100                 private static void Traceback(string str)\r
101                 {\r
102                         // throw new NotImplementedException();\r
103                 }\r
104         }\r
105 }\r