This commit is contained in:
190
source/WBI/Login.aspx.cs
Normal file
190
source/WBI/Login.aspx.cs
Normal file
@@ -0,0 +1,190 @@
|
||||
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 CSLA.Security;
|
||||
using System.Threading;
|
||||
using GZTW.AyaNova.BLL;
|
||||
|
||||
public partial class Login : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
img_service_management.AlternateText = "AyaNova service management work order software login";
|
||||
|
||||
try
|
||||
{
|
||||
GZTW.AyaNova.BLL.AyaBizUtils.Initialize();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
//Case 352 - discovered that this was all using the inner exception blindly assuming
|
||||
//there was one which caused any exception without an inner exception to throw a null reference
|
||||
//exception here instead of showing the correct message (i.e. license or schema invalid etc etc).
|
||||
|
||||
//crack the exception
|
||||
while (ex.InnerException != null)
|
||||
ex = ex.InnerException;
|
||||
|
||||
|
||||
if (ex.Message.Contains("fbembed"))
|
||||
{
|
||||
Response.Write("<h2>The embedded firebird database can not be used with AyaNova WBI<br/>" +
|
||||
"WBI requires a database server</h2>");
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Write("<h2>WBI was unable to start, most likely this is due to a configuration error.</h2>");
|
||||
Response.Write("Double check your settings in the config.txt file as outlined in the documentation.<br/>");
|
||||
Response.Write("The error message is:<br/><br/>");
|
||||
Response.Write("<span style=\"color: red\">");
|
||||
Response.Write(Util.StringWebify(ex.Message));
|
||||
Response.Write("</span>");
|
||||
Response.End();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
string ls = AyaBizUtils.PluginSubscriptionStatus("WBI - Web browser interface", WBI.Timestamp.BuildAt);
|
||||
|
||||
if (ls == "OK")
|
||||
{
|
||||
if (AyaBizUtils.REGTO != "CH Technologies, Inc.")//Case 844 exception for guy who doesn't want "advertising" or a "security risk" that his customers can see
|
||||
litcomp.Text = "<a href=\"http://www.ayanova.com\" target=\"_blank;\">AyaNova® WBI Service management software</a><br/>" +
|
||||
"Licensed to: " + HttpUtility.HtmlEncode(AyaBizUtils.REGTO) + "<br/>" + //case 1188
|
||||
"© 1999-2018 Ground Zero Tech-Works Inc. All rights reserved.";
|
||||
else
|
||||
litcomp.Text = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
//litcomp.Text = "Licensed to: NOT LICENSED";
|
||||
string slm = "";
|
||||
if (ls == "NOTALLOWED")
|
||||
{
|
||||
slm = "NOT LICENSED!<br/><br/>This AyaNova WBI was built " +
|
||||
WBI.Timestamp.BuildAt.ToString() + "<br/>" +
|
||||
"but your license subscription for it ended " +
|
||||
AyaBizUtils.PluginSubscriptionDate("WBI - Web browser interface").ToString() + "<br/>" +
|
||||
"<br/>Downgrade back to your previous version or purchase a subscription to use AyaNova WBI.";
|
||||
|
||||
}
|
||||
else
|
||||
slm = "An WBI license is required to use AyaNova WBI";
|
||||
|
||||
|
||||
Response.Write("<h3>"+slm+"</h3>");
|
||||
Response.End();
|
||||
|
||||
|
||||
}
|
||||
//Case 300
|
||||
// this.HyperLink1.Text = this.HyperLink1.Text + " (v" + Util.Version + ")";
|
||||
|
||||
//case 1435 / case 1111
|
||||
if(Request.QueryString["cl"]!=null)
|
||||
Util.PageAddCustomContent(this.Page,true);
|
||||
|
||||
//case 2094
|
||||
//case 1638
|
||||
if (AyaBizUtils.TrialExpired || AyaBizUtils.LockedOut)
|
||||
{
|
||||
|
||||
this.lit.Text = "Read only mode: License has expired";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnLogin_Click1(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
string ls = AyaBizUtils.PluginSubscriptionStatus("WBI - Web browser interface", WBI.Timestamp.BuildAt);
|
||||
|
||||
|
||||
if (ls=="OK" )
|
||||
{
|
||||
|
||||
|
||||
string sUser = edUserName.Text;
|
||||
string sPass = edPassword.Text;
|
||||
|
||||
|
||||
if (sUser == "manager" && sPass == "letmein")
|
||||
{
|
||||
|
||||
this.lit.Text = "Access denied: The default Administrator account password must be changed.";
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Session.Clear();
|
||||
AyaBizUtils.Login(sUser, sPass);
|
||||
if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
|
||||
{
|
||||
Session["AyaNova-Principle"] = Thread.CurrentPrincipal;
|
||||
HttpContext.Current.User = (System.Security.Principal.IPrincipal)Session["AyaNova-Principle"];
|
||||
|
||||
// The user has been authenticated.
|
||||
// 1. Create the ticket.
|
||||
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
|
||||
Util.CurrentUserID.ToString(),
|
||||
false,
|
||||
999999);
|
||||
|
||||
// 2. Create the cookie using the ticket.
|
||||
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
|
||||
FormsAuthentication.Encrypt(ticket));
|
||||
|
||||
// 3. Attach the cookie to the outbound response.
|
||||
Response.Cookies.Add(cookie);
|
||||
|
||||
// 4. Do the redirect.
|
||||
|
||||
|
||||
|
||||
if (Util.CurrentUser.IsClientOrHeadOfficeAccount)
|
||||
{
|
||||
if (AyaBizUtils.Right("Object.ClientServiceRequest") > (int)SecurityLevelTypes.NoAccess)
|
||||
Response.Redirect("ClientClientServiceRequests.aspx");
|
||||
else if(AyaBizUtils.Right("Object.WorkorderService") > (int)SecurityLevelTypes.NoAccess)
|
||||
Response.Redirect("ClientWorkorders.aspx");
|
||||
else
|
||||
{
|
||||
Response.Redirect("Limbo.aspx");
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//remove grid last views data from cache in case it hasn't been
|
||||
//expired already (this is to prevent user from seeing stale grid
|
||||
//view set in AyaNova, generally only applicable when testing
|
||||
//but here it is anyway)
|
||||
Cache.Remove(Util.CurrentUserID.ToString() + "GridLastViews");
|
||||
|
||||
//Remove user grid filters list when logging in
|
||||
Cache.Remove("UserGridFilters" + Util.CurrentUserID.ToString());
|
||||
|
||||
Response.Redirect("Service.aspx");
|
||||
//FormsAuthentication.RedirectFromLoginPage(sUser, true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lit.Text="A license is required to use AyaNova WBI";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user