If I'm developing an application that must accommodate
multiple security levels though secure login and my ASP.NET
web application is spanned across three web-servers (using
round-robin load balancing) what would be the best approach
to maintain login-in state for the users?
Answer Posted / a
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Text;
public partial class UI_Default3 : System.Web.UI.Page
{
public string projTable = string.Empty;
public string projCode = string.Empty;
public string expand = string.Empty;
public string expandAll = string.Empty;
public DataSet dst = null;
protected void Page_Load(object sender, EventArgs e)
{
dst = new DataSet();
dst = PopulateData.LoadProject();
StringBuilder sb = new StringBuilder();
if (Request.QueryString["projCode"] != null) {
projCode = Request.QueryString
["projCode"].ToString();
}
if (Request.QueryString["expand"] != null) {
expand = Request.QueryString["expand"].ToString
();
}
if (Request.QueryString["expandAll"] != null) {
expandAll = Request.QueryString
["expandAll"].ToString();
}
if (expandAll.Equals("1")) {
Session.Remove("projCode");
for (int i = 0; i < dst.Tables[0].Rows.Count;
i++) {
if (Session["projCode"] != null && Session
["projCode"].ToString() != string.Empty) {
Session["projCode"] = Session
["projCode"].ToString() + dst.Tables[0].Rows[i]
["ProjCode"].ToString() + ",";
} else {
Session["projCode"] = dst.Tables[0].Rows
[i]["ProjCode"].ToString() + ",";
}
}
} else if (expandAll.Equals("0")) {
Session.Remove("projCode");
}
if (Session["projCode"] != null && Session
["projCode"].ToString() != string.Empty) {
if (expand.Equals("1")) {
Session["projCode"] = Session
["projCode"].ToString() + projCode + ",";
} else if(expand.Equals("0")) {
Session["projCode"] = Session
["projCode"].ToString().Replace((projCode + ","), "");
}
} else {
if (!projCode.Equals(string.Empty)) {
Session["projCode"] = projCode + ",";
} else {
Session["projCode"] = string.Empty;
}
}
string sProjCode = string.Empty;
sProjCode = Session["projCode"].ToString();
sb.Append("<tr>");
sb.Append("<td>");
if (expandAll.Equals("1")) {
sb.Append("<a href=\"../UI/Default3.aspx?
expandAll=0\">Collapse all</a>");
} else {
sb.Append("<a href=\"../UI/Default3.aspx?
expandAll=1\">Expand all</a>");
}
sb.Append("</td>");
sb.Append("</tr>");
if(dst.Tables[0].Rows.Count > 0){
for (int i = 0; i < dst.Tables[0].Rows.Count;
i++) {
sb.Append("<tr>");
sb.Append("<td>");
if (sProjCode.IndexOf(dst.Tables[0].Rows[i]
["ProjCode"].ToString()) >= 0) {
sb.Append("<a
href=\"../UI/Default3.aspx?projCode=" + dst.Tables[0].Rows
[i]["ProjCode"] + "&expand=0\"><img
src=\"../Images/close.GIF\" /></a>");
} else {
sb.Append("<a
href=\"../UI/Default3.aspx?projCode=" + dst.Tables[0].Rows
[i]["ProjCode"] + "&expand=1\"><img
src=\"../Images/open.GIF\" /></a>");
}
sb.Append("</td>");
sb.Append("<td>");
if (sProjCode.IndexOf(dst.Tables[0].Rows[i]
["ProjCode"].ToString()) >= 0) {
sb.Append("<a
href=\"../UI/Default3.aspx?projCode=" + dst.Tables[0].Rows
[i]["ProjCode"] + "&expand=0\">" + dst.Tables[0].Rows[i]
["ProjDesc"] + "</a>");
} else {
sb.Append("<a
href=\"../UI/Default3.aspx?projCode=" + dst.Tables[0].Rows
[i]["ProjCode"] + "&expand=1\">" + dst.Tables[0].Rows[i]
["ProjDesc"] + "</a>");
}
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td colspan=\"2\">");
if ((!sProjCode.Equals(string.Empty) &&
(sProjCode.IndexOf(dst.Tables[0].Rows[i]
["ProjCode"].ToString()) >= 0))) {
DataSet dstNew = new DataSet();
dstNew = PopulateData.LoadDivision
(dst.Tables[0].Rows[i]["ProjCode"].ToString());
sb.Append("<table border=\"1\" >");
sb.Append("<tr>");
sb.Append("<td>Division ID</td>");
sb.Append("<td>Division Name</td>");
sb.Append("</tr>");
for (int j = 0; j < dstNew.Tables
[0].Rows.Count; j++) {
if (j % 2 == 0) {
sb.Append("<tr class=\"row\">");
}else{
sb.Append("<tr
class=\"altRow\">");
}
sb.Append("<td>" + dstNew.Tables
[0].Rows[j]["DivisionID"] + "</td>");
sb.Append("<td>" + dstNew.Tables
[0].Rows[j]["DivisionName"] + "</td>");
sb.Append("</tr>");
}
sb.Append("</table>");
}
sb.Append("</td>");
sb.Append("</tr>");
}
projTable = sb.ToString();
}
}
}
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
Disable browser cache for entire ASP.NET website?
If we remove web.config or machine.config from the application then, is this application will works?
Name the tools or API for developing or testing web api?
When we use cookie less session? Explain its working?
Can we have multiple master pages in asp net?
What is a page life cycle?
What is asp.net mvc? : asp.net mvc
How do we ensure view state has not tampered?
How we implement web farm and web garden concept in asp.net?
Which method is used to force all the validation controls to run?
Explain why datareader is useful?
What are the advantages of using Master Pages?
Explain the use of view state?
Differentiate between namespace and assembly.
What is cross page posting? How is it done?