本文整理汇总了C#中MonkeyWrench.DataClasses.Logic.WebServiceResponse类的典型用法代码示例。如果您正苦于以下问题:C# WebServiceResponse类的具体用法?C# WebServiceResponse怎么用?C# WebServiceResponse使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
WebServiceResponse类属于MonkeyWrench.DataClasses.Logic命名空间,在下文中一共展示了WebServiceResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsLoggedIn
public static bool IsLoggedIn (WebServiceResponse response)
{
if (response == null)
return false;
return !string.IsNullOrEmpty (response.UserName);
}
示例2: IsInRole
public static bool IsInRole (WebServiceResponse response, string role)
{
if (response.UserRoles == null)
return false;
return Array.IndexOf (response.UserRoles, role) >= 0;
}
示例3: IsInRole
public static bool IsInRole (WebServiceResponse response, string role)
{
bool result;
if (response == null) {
log.Debug ("IsInRole: no response");
return false;
}
if (response.UserRoles == null) {
log.Debug ("IsInRole: no userroles");
return false;
}
result = Array.IndexOf (response.UserRoles, role) >= 0;
log.DebugFormat ("IsInRole ({0}) => {1} (roles: {2})", role, result, string.Join (";", response.UserRoles));
return result;
}
示例4: IsInRole
public static bool IsInRole (WebServiceResponse response, string role)
{
bool result;
if (response == null) {
MonkeyWrench.Logger.Log (2, "IsInRole: no response");
return false;
}
if (response.UserRoles == null) {
MonkeyWrench.Logger.Log (2, "IsInRole: no userroles");
return false;
}
result = Array.IndexOf (response.UserRoles, role) >= 0;
MonkeyWrench.Logger.Log (2, "IsInRole ({0}) => {1} (roles: {2})", role, result, string.Join (";", response.UserRoles));
return result;
}
示例5: Authenticate
/// <summary>
/// Authenticates the request with the provided user/pass.
/// If no user/pass is provided, the method returns a response
/// with no roles.
/// If a wrong user/pass is provided, the method throws an exception.
/// </summary>
/// <param name="db"></param>
/// <param name="login"></param>
/// <param name="response"></param>
public static void Authenticate (HttpContext Context, DB db, WebServiceLogin login, WebServiceResponse response, bool @readonly)
{
Authenticate (Context.Request.UserHostAddress, db, login, response, @readonly);
}
示例6: Authenticate
internal void Authenticate (DB db, WebServiceLogin login, WebServiceResponse response, bool @readonly)
{
Authentication.Authenticate (Context, db, login, response, @readonly);
}
示例7: MarkAsDontBuild
public WebServiceResponse MarkAsDontBuild (WebServiceLogin login, int lane_id)
{
WebServiceResponse response = new WebServiceResponse ();
using (DB db = new DB ()) {
VerifyUserInRole (db, login, Roles.Administrator);
using (IDbCommand cmd = db.CreateCommand ()) {
cmd.CommandText = "UPDATE RevisionWork SET state = 11 WHERE state = 0 AND lane_id = @lane_id;";
DB.CreateParameter (cmd, "lane_id", lane_id);
cmd.ExecuteNonQuery ();
}
}
return response;
}
示例8: AddRelease
public WebServiceResponse AddRelease (WebServiceLogin login, DBRelease release)
{
WebServiceResponse response = new WebServiceResponse ();
using (DB db = new DB ()) {
VerifyUserInRole (db, login, Roles.BuildBot);
release.Save (db);
}
return response;
}
示例9: EditNotification
public WebServiceResponse EditNotification (WebServiceLogin login, DBNotification notification)
{
WebServiceResponse response = new WebServiceResponse ();
using (DB db = new DB ()) {
VerifyUserInRole (db, login, Roles.Administrator);
notification.Save (db);
Notifications.Restart ();
}
return response;
}
示例10: EditIdentity
public WebServiceResponse EditIdentity (WebServiceLogin login, DBIrcIdentity irc_identity, DBEmailIdentity email_identity)
{
WebServiceResponse response = new WebServiceResponse ();
using (DB db = new DB ()) {
VerifyUserInRole (db, login, Roles.Administrator);
if (irc_identity != null) {
irc_identity.Save (db);
}
if (email_identity != null) {
email_identity.Save (db);
}
}
return response;
}
示例11: DeleteAllWorkForHost
public WebServiceResponse DeleteAllWorkForHost (WebServiceLogin login, int host_id)
{
WebServiceResponse response = new WebServiceResponse ();
try {
using (DB db = new DB ()) {
VerifyUserInRole (db, login, Roles.Administrator);
using (IDbCommand cmd = db.CreateCommand ()) {
cmd.CommandText = @"
DELETE FROM Work WHERE revisionwork_id IN (SELECT id FROM RevisionWork WHERE host_id = @host_id);
UPDATE RevisionWork SET state = 10, workhost_id = DEFAULT, completed = DEFAULT WHERE host_id = @host_id;
";
DB.CreateParameter (cmd, "host_id", host_id);
cmd.ExecuteNonQuery ();
}
}
} catch (Exception ex) {
response.Exception = new WebServiceException (ex);
}
return response;
}
示例12: ClearAllWorkForHost
public WebServiceResponse ClearAllWorkForHost (WebServiceLogin login, int host_id)
{
WebServiceResponse response = new WebServiceResponse ();
try {
using (DB db = new DB ()) {
VerifyUserInRole (db, login, Roles.Administrator);
using (IDbCommand cmd = db.CreateCommand ()) {
cmd.CommandText = @"
UPDATE Work SET state = DEFAULT, summary = DEFAULT, starttime = DEFAULT, endtime = DEFAULT, duration = DEFAULT, logfile = DEFAULT, host_id = DEFAULT
WHERE Work.revisionwork_id IN (SELECT RevisionWork.id FROM RevisionWork WHERE RevisionWork.host_id = @host_id);
UPDATE RevisionWork SET state = DEFAULT, lock_expires = DEFAULT, completed = DEFAULT, workhost_id = DEFAULT WHERE host_id = @host_id;
";
DB.CreateParameter (cmd, "host_id", host_id);
cmd.ExecuteNonQuery ();
}
}
} catch (Exception ex) {
response.Exception = new WebServiceException (ex);
}
return response;
}
示例13: VerifyUserInRole
public static void VerifyUserInRole (HttpContext Context, DB db, WebServiceLogin login, string role, bool @readonly)
{
WebServiceResponse dummy = new WebServiceResponse ();
Authenticate (Context, db, login, dummy, @readonly);
if (!dummy.IsInRole (role)) {
log.InfoFormat ("The user '{0}' has the roles '{1}', and requested role is: {2}", login.User, dummy.UserRoles == null ? "<null>" : string.Join (",", dummy.UserRoles), role);
throw new UnauthorizedException ("You don't have the required permissions.");
}
}
示例14: Authenticate
/// <summary>
/// Authenticates the request with the provided user/pass.
/// If no user/pass is provided, the method returns a response
/// with no roles.
/// If a wrong user/pass is provided, the method throws an exception.
/// </summary>
/// <param name="db"></param>
/// <param name="login"></param>
/// <param name="response"></param>
public static void Authenticate (HttpContext Context, DB db, WebServiceLogin login, WebServiceResponse response, bool @readonly)
{
string ip = Context.Request.UserHostAddress;
int person_id;
DBLoginView view = null;
Console.WriteLine ("WebService.Authenticate (Ip4: {0}, UserHostAddress: {1}, User: {2}, Cookie: {3}, Password: {4}", login == null ? null : login.Ip4, Context.Request.UserHostAddress, login == null ? null : login.User, login == null ? null : login.Cookie, login == null ? null : login.Password);
// Check if credentials were passed in
if (login == null || string.IsNullOrEmpty (login.User) || (string.IsNullOrEmpty (login.Password) && string.IsNullOrEmpty (login.Cookie))) {
Console.WriteLine ("No credentials.");
return;
}
if (@readonly && string.IsNullOrEmpty (login.Password)) {
// Console.WriteLine ("Readonly authentication needs a password.");
return;
}
if (!string.IsNullOrEmpty (login.Ip4)) {
ip = login.Ip4;
} else {
ip = Context.Request.UserHostAddress;
}
if (@readonly) {
DBLogin result = DBLogin_Extensions.Login (db, login.User, login.Password, ip, @readonly);
if (result == null) {
// Console.WriteLine ("Incorrect Login/Password for readonly login");
return;
}
person_id = result.person_id;
} else {
if (!string.IsNullOrEmpty (login.Password)) {
DBLogin result = DBLogin_Extensions.Login (db, login.User, login.Password, ip, @readonly);
if (result != null)
view = DBLoginView_Extensions.VerifyLogin (db, login.User, result.cookie, ip);
} else {
view = DBLoginView_Extensions.VerifyLogin (db, login.User, login.Cookie, ip);
Console.WriteLine ("Verifying login, cookie: {0} user: {1} ip: {2}", login.Cookie, login.User, ip);
}
if (view == null) {
Console.WriteLine ("Invalid credentials.");
return;
}
person_id = view.person_id;
}
Console.WriteLine ("Valid credentials");
LoginResponse login_response = response as LoginResponse;
if (login_response != null) {
login_response.Cookie = view != null ? view.cookie : null;
login_response.FullName = view != null ? view.fullname : null;
login_response.ID = person_id;
}
DBPerson person = DBPerson_Extensions.Create (db, person_id);
Console.WriteLine ("Roles for '{0}': {1}", login.User, person.roles);
if (!string.IsNullOrEmpty (person.roles))
response.UserRoles = person.roles.Split (new char [] { ',' }, StringSplitOptions.RemoveEmptyEntries);
}
示例15: SetResponse
private void SetResponse (WebServiceResponse response)
{
this.response = response;
LoadView ();
}