Skip to content

Commit e03f603

Browse files
committed
Patched Session Timeout exceptions.
Also added new OSAESecurity to Web UI Screens
1 parent 4aab80d commit e03f603

19 files changed

Lines changed: 357 additions & 74 deletions

UI/Web/Default.aspx.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public partial class _Default : System.Web.UI.Page
99
protected void Page_Load(object sender, EventArgs e)
1010
{
1111
DataSet dataset = new DataSet();
12-
dataset = OSAE.OSAESql.RunSQL("select count(object_id) from osae_v_object_property where object_type = 'PERSON' and property_name = 'password' and length(property_value) > 0");
12+
dataset = OSAE.OSAESql.RunSQL("select count(object_id)from osae_v_object_property where object_type = 'PERSON' and property_name = 'password' and length(property_value) > 0");
1313
if (Convert.ToInt16(dataset.Tables[0].Rows[0][0].ToString()) > 0) txtUserName.Focus();
1414
else Response.Redirect("~/firstrun.aspx");
1515
}
@@ -33,6 +33,7 @@ protected void imgSubmit_Click(object sender, EventArgs e)
3333
Session["UserName"] = OSAEObjectManager.GetObjectByName(this.txtUserName.Text.Trim()).Name;
3434
Session["TrustLevel"] = OSAEObjectPropertyManager.GetObjectPropertyValue(this.txtUserName.Text.Trim(), "Trust Level").Value;
3535
Session["SecurityLevel"] = OSAEObjectPropertyManager.GetObjectPropertyValue(this.txtUserName.Text.Trim(), "Security Level").Value;
36+
Session.Timeout = cto;
3637
}
3738
else
3839
{
@@ -44,6 +45,7 @@ protected void imgSubmit_Click(object sender, EventArgs e)
4445
Session["UserName"] = OSAEObjectManager.GetObjectByName(this.txtUserName.Text.Trim()).Name;
4546
Session["TrustLevel"] = OSAEObjectPropertyManager.GetObjectPropertyValue(this.txtUserName.Text.Trim(), "Trust Level").Value;
4647
Session["SecurityLevel"] = OSAEObjectPropertyManager.GetObjectPropertyValue(this.txtUserName.Text.Trim(), "Security Level").Value;
48+
Session.Timeout = cto;
4749
}
4850

4951
// Do the redirect.

UI/Web/Global.asax

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
void Application_End(object sender, EventArgs e)
1313
{
1414
// Code that runs on application shutdown
15-
15+
Session.Abandon();
1616
}
1717
1818
void Application_Error(object sender, EventArgs e)
@@ -35,11 +35,11 @@
3535
3636
}
3737
38-
//void Application_BeginRequest(object sender, EventArgs e)
39-
//{
40-
// string culture = OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("System", "Culture").Value;
41-
// System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
42-
// System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
43-
//}
38+
void Application_BeginRequest(object sender, EventArgs e)
39+
{
40+
string culture = OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("System", "Culture").Value;
41+
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
42+
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
43+
}
4444
4545
</script>

UI/Web/MasterPage.master.cs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,15 @@ public partial class MasterPage : System.Web.UI.MasterPage
1111
protected void Page_Load(object sender, EventArgs e)
1212
{
1313

14-
if (Request.Headers["User-Agent"] != null && (Request.Browser["IsMobileDevice"] == "true" || Request.UserAgent.ToUpper().Contains("MIDP") || Request.UserAgent.ToUpper().Contains("CLDC") || Request.UserAgent.ToLower().Contains("iphone") || Request.UserAgent.ToLower().Contains("avant") || Request.UserAgent.ToLower().Contains("nokia") || Request.UserAgent.ToLower().Contains("pda") || Request.UserAgent.ToLower().Contains("moto") || Request.UserAgent.ToLower().Contains("windows ce") || Request.UserAgent.ToLower().Contains("hand") || Request.UserAgent.ToLower().Contains("mobi") || Request.UserAgent.ToUpper().Contains("HTC") || Request.UserAgent.ToLower().Contains("sony") || Request.UserAgent.ToLower().Contains("panasonic") || Request.UserAgent.ToLower().Contains("blackberry") || Request.UserAgent.ToLower().Contains("240x320") || Request.UserAgent.ToLower().Contains("voda")))
14+
if (Request.Headers["User-Agent"] != null && (Request.Browser["IsMobileDevice"] == "true" || Request.UserAgent.ToUpper().Contains("MIDP") || Request.UserAgent.ToUpper().Contains("CLDC") || Request.UserAgent.ToLower().Contains("iphone") || Request.UserAgent.ToLower().Contains("avant") || Request.UserAgent.ToLower().Contains("nokia") || Request.UserAgent.ToLower().Contains("pda") || Request.UserAgent.ToLower().Contains("moto") || Request.UserAgent.ToLower().Contains("windows ce") || Request.UserAgent.ToLower().Contains("hand") || Request.UserAgent.ToLower().Contains("mobi") || Request.UserAgent.ToUpper().Contains("HTC") || Request.UserAgent.ToLower().Contains("sony") || Request.UserAgent.ToLower().Contains("panasonic") || Request.UserAgent.ToLower().Contains("SAMSUNG") || Request.UserAgent.ToLower().Contains("blackberry") || Request.UserAgent.ToLower().Contains("240x320") || Request.UserAgent.ToLower().Contains("voda")))
15+
{
16+
Log.Debug("Request User-Agent: " + Request.Headers["User-Agent"].ToString() + ". Redirecting to Mobile Site");
1517
Response.Redirect("mobile/index.aspx");
18+
}
1619

1720
OSAEObjectCollection screens = OSAEObjectManager.GetObjectsByType("SCREEN");
1821

19-
SetSessionTimeout();
22+
//SetSessionTimeout();
2023

2124
foreach (OSAEObject s in screens)
2225
{
@@ -41,10 +44,8 @@ protected void Page_Load(object sender, EventArgs e)
4144
{
4245
cog.ToolTip = "Config Settings: OSA service is running.";
4346
}
44-
if (Session["UserName"] != null)
45-
{
46-
btnUser.Text = Session["UserName"].ToString();
47-
}
47+
48+
btnUser.Text = Session["UserName"].ToString();
4849
// if (Session["SecurityLevel"].ToString() != "Admin") btnAdmin.Visible = false;
4950
}
5051

@@ -79,9 +80,4 @@ protected void btnUser_Click(object sender, EventArgs e)
7980
Session.Abandon();
8081
Response.Redirect("default.aspx");
8182
}
82-
83-
// protected void btnAdmin_Click(object sender, EventArgs e)
84-
// {
85-
// Response.Redirect("admin.aspx");
86-
// }
8783
}

UI/Web/analytics.aspx.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ public void RaisePostBackEvent(string eventArgument)
1818

1919
protected void Page_Load(object sender, EventArgs e)
2020
{
21-
if (Session["Username"] == null) Response.Redirect("~/Default.aspx");
21+
if (Session["Username"] == null) Response.Redirect("~/Default.aspx?ReturnUrl=analytics.aspx");
2222
int objSet = OSAEAdminManager.GetAdminSettingsByName("Analytics Trust");
2323
int tLevel = Convert.ToInt32(Session["TrustLevel"].ToString());
2424
if (tLevel < objSet) Response.Redirect("~/permissionError.aspx");
2525
loadProperties();
2626
loadStates();
2727
getRestPort();
28+
SetSessionTimeout();
2829
}
2930

3031
protected void Page_PreRender(object sender, EventArgs e)
@@ -62,4 +63,20 @@ private void getRestPort()
6263
}
6364
hdnRestPort.Value = restPort.ToString();
6465
}
66+
67+
private void SetSessionTimeout()
68+
{
69+
try
70+
{
71+
int timeout = 0;
72+
if (int.TryParse(OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("Web Server", "Timeout").Value, out timeout))
73+
Session.Timeout = timeout;
74+
else Session.Timeout = 60;
75+
}
76+
catch (Exception ex)
77+
{
78+
Master.Log.Error("Error setting session timeout", ex);
79+
Response.Redirect("~/error.aspx");
80+
}
81+
}
6582
}

UI/Web/config.aspx.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ public partial class config : System.Web.UI.Page
1010
{
1111
protected void Page_Load(object sender, EventArgs e)
1212
{
13-
if (Session["Username"] == null) Response.Redirect("~/Default.aspx");
13+
if (Session["Username"] == null) Response.Redirect("~/Default.aspx?ReturnUrl=config.aspx");
1414
int objSet = OSAEAdminManager.GetAdminSettingsByName("Config Trust");
1515
int tLevel = Convert.ToInt32(Session["TrustLevel"].ToString());
1616
if (tLevel < objSet) Response.Redirect("~/permissionError.aspx");
17+
SetSessionTimeout();
1718
if (!IsPostBack)
1819
{
1920
lblVersion.Text = OSAEObjectPropertyManager.GetObjectPropertyValue("SYSTEM", "DB Version").Value;
@@ -165,5 +166,20 @@ protected void clearHistoryButton_Click(object sender, EventArgs e)
165166
DataSet d = OSAESql.RunSQL("CALL osae_sp_object_history_clear");
166167
}
167168

168-
169+
private void SetSessionTimeout()
170+
{
171+
try
172+
{
173+
int timeout = 0;
174+
if (int.TryParse(OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("Web Server", "Timeout").Value, out timeout))
175+
Session.Timeout = timeout;
176+
else Session.Timeout = 60;
177+
}
178+
catch (Exception ex)
179+
{
180+
Master.Log.Error("Error setting session timeout", ex);
181+
Response.Redirect("~/error.aspx");
182+
}
183+
}
184+
169185
}

UI/Web/debuglog.aspx.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ public partial class debuglog : System.Web.UI.Page
1414

1515
protected void Page_Load(object sender, EventArgs e)
1616
{
17-
if (Session["Username"] == null) Response.Redirect("~/Default.aspx");
17+
if (Session["Username"] == null) Response.Redirect("~/Default.aspx?ReturnUrl=debuglog.aspx");
1818
int objSet = OSAEAdminManager.GetAdminSettingsByName("Debug Log Trust");
1919
int tLevel = Convert.ToInt32(Session["TrustLevel"].ToString());
2020
if (tLevel < objSet) Response.Redirect("~/permissionError.aspx");
2121
if (!IsPostBack) BindData();
2222
applySecurity();
23+
SetSessionTimeout();
2324
}
2425

2526
private void BindData()
@@ -58,4 +59,20 @@ protected void applySecurity()
5859
}
5960
}
6061
#endregion
62+
63+
private void SetSessionTimeout()
64+
{
65+
try
66+
{
67+
int timeout = 0;
68+
if (int.TryParse(OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("Web Server", "Timeout").Value, out timeout))
69+
Session.Timeout = timeout;
70+
else Session.Timeout = 60;
71+
}
72+
catch (Exception ex)
73+
{
74+
Master.Log.Error("Error setting session timeout", ex);
75+
Response.Redirect("~/error.aspx");
76+
}
77+
}
6178
}

UI/Web/eventlogs.aspx.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ public partial class eventlogs : System.Web.UI.Page
1414

1515
protected void Page_Load(object sender, EventArgs e)
1616
{
17-
if (Session["Username"] == null) Response.Redirect("~/Default.aspx");
17+
if (Session["Username"] == null) Response.Redirect("~/Default.aspx?ReturnUrl=eventlogs.aspx");
1818
int objSet = OSAEAdminManager.GetAdminSettingsByName("Event Log Trust");
1919
int tLevel = Convert.ToInt32(Session["TrustLevel"].ToString());
2020
if (tLevel < objSet) Response.Redirect("~/permissionError.aspx");
2121
if (!IsPostBack) BindData();
2222
applySecurity();
23+
SetSessionTimeout();
2324
}
2425

2526
private void BindData()
@@ -57,4 +58,20 @@ protected void applySecurity()
5758
}
5859
}
5960
#endregion
61+
62+
private void SetSessionTimeout()
63+
{
64+
try
65+
{
66+
int timeout = 0;
67+
if (int.TryParse(OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("Web Server", "Timeout").Value, out timeout))
68+
Session.Timeout = timeout;
69+
else Session.Timeout = 60;
70+
}
71+
catch (Exception ex)
72+
{
73+
Master.Log.Error("Error setting session timeout", ex);
74+
Response.Redirect("~/error.aspx");
75+
}
76+
}
6077
}

UI/Web/images.aspx.cs

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ public void RaisePostBackEvent(string eventArgument)
1717

1818
protected void Page_Load(object sender, EventArgs e)
1919
{
20-
if (Session["Username"] == null) Response.Redirect("~/Default.aspx");
20+
if (Session["Username"] == null) Response.Redirect("~/Default.aspx?ReturnUrl=images.aspx");
2121
int objSet = OSAEAdminManager.GetAdminSettingsByName("Images Trust");
2222
int tLevel = Convert.ToInt32(Session["TrustLevel"].ToString());
2323
if (tLevel < objSet) Response.Redirect("~/permissionError.aspx");
24+
SetSessionTimeout();
2425
if (!Page.IsPostBack)
2526
loadImages();
26-
//else
27-
27+
else
28+
if (fileUpload.HasFile) txtName.Text = fileUpload.FileName;
2829

2930
applyObjectSecurity();
3031
}
@@ -50,18 +51,14 @@ protected void btnAdd_Click(object sender, EventArgs e)
5051
{
5152
if (fileUpload.PostedFile.ContentLength < 2502400) //202400
5253
{
53-
if (fileUpload.HasFile && txtName.Text.Length == 0) txtName.Text = fileUpload.FileName.Replace(System.IO.Path.GetExtension(fileUpload.FileName).ToLower(), "");
54-
55-
OSAEImage img = new OSAEImage
56-
{
57-
Data = fileUpload.FileBytes,
58-
Name = txtName.Text,
59-
Type = System.IO.Path.GetExtension(fileUpload.FileName).ToLower().Substring(1)
60-
};
54+
OSAEImage img = new OSAEImage();
55+
img.Data = fileUpload.FileBytes;
56+
img.Name = txtName.Text;
57+
img.Type = System.IO.Path.GetExtension(fileUpload.FileName).ToLower().Substring(1);
6158

6259
var imageManager = new OSAE.OSAEImageManager();
6360
imageManager.AddImage(img);
64-
txtName.Text = "";
61+
6562
loadImages();
6663
}
6764
else
@@ -111,4 +108,20 @@ protected void gvImages_RowDataBound(object sender, GridViewRowEventArgs e)
111108

112109
}
113110
}
111+
112+
private void SetSessionTimeout()
113+
{
114+
try
115+
{
116+
int timeout = 0;
117+
if (int.TryParse(OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("Web Server", "Timeout").Value, out timeout))
118+
Session.Timeout = timeout;
119+
else Session.Timeout = 60;
120+
}
121+
catch (Exception ex)
122+
{
123+
Master.Log.Error("Error setting session timeout", ex);
124+
Response.Redirect("~/error.aspx");
125+
}
126+
}
114127
}

UI/Web/logs.aspx.cs

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ public partial class logs : System.Web.UI.Page
1313

1414
protected void Page_Load(object sender, EventArgs e)
1515
{
16-
if (Session["Username"] == null) Response.Redirect("~/Default.aspx");
16+
if (Session["Username"] == null) Response.Redirect("~/Default.aspx?ReturnUrl=logs.aspx");
1717
int objSet = OSAEAdminManager.GetAdminSettingsByName("Server Log Trust");
1818
int tLevel = Convert.ToInt32(Session["TrustLevel"].ToString());
1919
if (tLevel < objSet) Response.Redirect("~/permissionError.aspx");
20+
SetSessionTimeout();
2021
if (!IsPostBack) GetLogs();
21-
22+
DropDownList ddlSource2 = (DropDownList)gvLog.HeaderRow.FindControl("ddlSource");
23+
btnClear.ToolTip = "Clears " + ddlSource2.Text + " Log Entries";
24+
btnClear2.ToolTip = "Clears " + ddlSource2.Text + " Log Entries";
2225
// Apply Security Admin Settings
2326
applySecurity();
2427
}
@@ -54,9 +57,19 @@ protected void btnRefresh_Click(object sender, EventArgs e)
5457
}
5558
protected void btnClear_Click(object sender, EventArgs e)
5659
{
57-
OSAE.General.OSAELog.Clear();
60+
DropDownList ddlSource2 = (DropDownList)gvLog.HeaderRow.FindControl("ddlSource");
61+
if (ddlSource2.Text == "All")
62+
{
63+
OSAE.General.OSAELog.Clear();
64+
}
65+
else
66+
{
67+
OSAE.General.OSAELog.Clear_Log(ddlSource2.Text);
68+
Response.Redirect("~/logs.aspx");
69+
}
5870
GetLogs();
5971
}
72+
6073
protected void CheckedChanged(object sender, EventArgs e)
6174
{
6275
GetLogs();
@@ -75,4 +88,20 @@ protected void applySecurity()
7588
}
7689
}
7790
#endregion
91+
92+
private void SetSessionTimeout()
93+
{
94+
try
95+
{
96+
int timeout = 0;
97+
if (int.TryParse(OSAE.OSAEObjectPropertyManager.GetObjectPropertyValue("Web Server", "Timeout").Value, out timeout))
98+
Session.Timeout = timeout;
99+
else Session.Timeout = 60;
100+
}
101+
catch (Exception ex)
102+
{
103+
Master.Log.Error("Error setting session timeout", ex);
104+
Response.Redirect("~/error.aspx");
105+
}
106+
}
78107
}

0 commit comments

Comments
 (0)