protected override string?PropertyValidation(PropertyInfo pi) { if (LoginWithWindowsAuthenticator || LoginWithActiveDirectoryRegistry) { if (pi.Name == nameof(DomainName) && !DomainName.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } if (pi.Name == nameof(DomainServer) && !DomainServer.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } } if (LoginWithAzureAD) { if (pi.Name == nameof(Azure_ApplicationID) && !Azure_ApplicationID.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } if (pi.Name == nameof(Azure_DirectoryID) && !Azure_DirectoryID.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } } return(base.PropertyValidation(pi)); }
/// <summary> /// 输出错误状态 /// </summary> /// <param name="state">错误状态</param> internal void ResponseError(ResponseState state) { if (DomainServer != null) { Response response = DomainServer.GetErrorResponseData(state, Header.IsGZip); if (response != null) { if (state != ResponseState.NotFound404 || Header.Method != MethodType.GET) { Header.Flag &= HeaderFlag.All ^ HeaderFlag.IsKeepAlive; } if (responseHeader(ref response)) return; } } byte[] data = errorResponseDatas[(int)state]; System.Net.Sockets.Socket socket = Socket; if (data != null && socket != null) { try { SendType = state == ResponseState.NotFound404 && Header.Method == MethodType.GET ? SendType.Next : SendType.Close; Data.Set(data, 0, data.Length); Timeout = Config.GetTimeout(Data.Length); #if DOTNET2 SocketError socketError; IAsyncResult async = socket.BeginSend(data, 0, Data.Length, SocketFlags.None, out socketError, onSendAsyncCallback, socket); if (socketError == SocketError.Success) { if (!async.CompletedSynchronously) Http.Header.ReceiveTimeout.Push(this, socket); return; } #else sendAsyncLock.EnterSleepFlag(); sendAsyncEventArgs.SetBuffer(data, 0, Data.Length); if (socket.SendAsync(sendAsyncEventArgs)) { sendAsyncLock.SleepFlag = 0; Http.Header.ReceiveTimeout.Push(this, socket); sendAsyncLock.Exit(); return; } sendAsyncLock.ExitSleepFlag(); if (onSend()) return; #endif } catch (Exception error) { Server.RegisterServer.TcpServer.Log.Exception(error, null, LogLevel.Exception | LogLevel.AutoCSer); } } HeaderError(); }
/// <summary> /// AJAX调用 /// </summary> protected void load() { try { AutoCSer.Net.Http.SocketBase socket = Socket; AutoCSer.Net.Http.Header header = Socket.HttpHeader; if ((header.Flag & Net.Http.HeaderFlag.IsSetAjaxCallName) != 0) { #if MONO AutoCSer.WebView.AjaxMethodInfo call = methods.Get(header.AjaxCallNameData); #else AutoCSer.WebView.AjaxMethodInfo call = DomainServer.WebConfigIgnoreCase ? methods.GetLower(header.AjaxCallNameData) : methods.Get(header.AjaxCallNameData); #endif if (call == null) { byte[] path = DomainServer.GetViewRewrite(header.AjaxCallNameData); if (path.length() != 0) { call = methods.GetNotEmpty(path); } } if (call != null && (!call.IsReferer || header.IsReferer != 0))// || AutoCSer.Config.Pub.Default.IsDebug { if (call.IsViewPage) { if (header.Method == Net.Http.MethodType.GET) { loadView(call); return; } } else if ((header.Method == Net.Http.MethodType.POST || !call.IsPost)) { if (header.ContentLength <= call.MaxPostDataSize) { loadAjax(call); } else { socket.ResponseErrorIdentity(AutoCSer.Net.Http.ResponseState.ServerError500); } return; } } } socket.ResponseErrorIdentity(AutoCSer.Net.Http.ResponseState.NotFound404); } finally { PushPool(); } }
/// <summary> /// 输出错误状态 /// </summary> /// <param name="state">错误状态</param> internal void ResponseError(ResponseState state) { if (DomainServer != null) { Response response = DomainServer.GetErrorResponseData(state, Header.IsGZip); if (response != null) { if (state != ResponseState.NotFound404 || Header.Method != MethodType.GET) { Header.Flag &= HeaderFlag.All ^ HeaderFlag.IsKeepAlive; } if (responseHeader(ref response)) { return; } } } byte[] data = errorResponseDatas[(int)state]; System.Net.Sockets.Socket socket = Socket; if (data != null && socket != null) { try { SendType = state == ResponseState.NotFound404 && Header.Method == MethodType.GET ? SendType.Next : SendType.Close; Timeout = Config.GetTimeout(Data.Length); if (!SslStream.BeginWrite(data, 0, data.Length, sendCallback, this).CompletedSynchronously) { Http.Header.ReceiveTimeout.Push(this, socket); } return; } catch (Exception error) { Server.RegisterServer.TcpServer.Log.Exception(error, null, LogLevel.Exception | LogLevel.AutoCSer); } } HeaderError(); }
protected override string?PropertyValidation(PropertyInfo pi) { if (LoginWithWindowsAuthenticator || LoginWithActiveDirectoryRegistry) { if (pi.Name == nameof(DomainName) && !DomainName.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } if (pi.Name == nameof(DomainServer) && !DomainServer.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } if (pi.Name == nameof(DirectoryRegistry_Username) && DirectoryRegistry_Username != null) { if (DirectoryRegistry_Username.Contains("@") || DirectoryRegistry_Username.Contains("\\") || DirectoryRegistry_Username.Contains("/")) { return(ValidationMessage._0DoesNotHaveAValid1Format.NiceToString(pi.NiceName(), "Simple Username")); } } } if (LoginWithAzureAD) { if (pi.Name == nameof(Azure_ApplicationID) && !Azure_ApplicationID.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } if (pi.Name == nameof(Azure_DirectoryID) && !Azure_DirectoryID.HasText()) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } } return(base.PropertyValidation(pi)); }
/// <summary> /// 输出错误状态 /// </summary> /// <param name="state">错误状态</param> protected override void responseError(response.state state) { if (boundaryReceiver != null) { bigBuffers.Push(ref boundaryReceiver.Buffer); } if (DomainServer != null) { response = DomainServer.GetErrorResponseData(state, RequestHeader.IsGZip); if (response != null) { if (state != http.response.state.NotFound404 || RequestHeader.Method != web.http.methodType.GET) { RequestHeader.IsKeepAlive = false; } responseHeader(); return; } } byte[] data = errorResponseDatas[(int)state]; if (data != null) { if (state == http.response.state.NotFound404 && RequestHeader.Method == web.http.methodType.GET) { sender.Send(dataSender.onSendType.Next, subArray <byte> .Unsafe(data, 0, data.Length)); } else { RequestHeader.IsKeepAlive = false; sender.Send(dataSender.onSendType.Close, subArray <byte> .Unsafe(data, 0, data.Length)); } } else { headerError(); } }
/// <summary> /// Serializes this instance of <see cref="ClusterNetwork" /> into a <see cref="Carbon.Json.JsonNode" />. /// </summary> /// <param name="container">The <see cref="Carbon.Json.JsonObject"/> container to serialize this object into. If the caller /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param> /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Rest.ClientRuntime.SerializationMode"/>.</param> /// <returns> /// a serialized instance of <see cref="ClusterNetwork" /> as a <see cref="Carbon.Json.JsonNode" />. /// </returns> public Carbon.Json.JsonNode ToJson(Carbon.Json.JsonObject container, Microsoft.Rest.ClientRuntime.SerializationMode serializationMode) { container = container ?? new Carbon.Json.JsonObject(); bool returnNow = false; BeforeToJson(ref container, ref returnNow); if (returnNow) { return(container); } AddIf(null != DomainServer ? (Carbon.Json.JsonNode)DomainServer.ToJson(null) : null, "domain_server", container.Add); AddIf(null != ExternalDataServicesIp ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(ExternalDataServicesIp) : null, "external_data_services_ip", container.Add); AddIf(null != ExternalIp ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(ExternalIp) : null, "external_ip", container.Add); AddIf(null != ExternalSubnet ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(ExternalSubnet) : null, "external_subnet", container.Add); if (null != HttpProxyList) { var __w = new Carbon.Json.XNodeArray(); foreach (var __x in HttpProxyList) { AddIf(__x?.ToJson(null), __w.Add); } container.Add("http_proxy_list", __w); } if (null != HttpProxyWhitelist) { var __r = new Carbon.Json.XNodeArray(); foreach (var __s in HttpProxyWhitelist) { AddIf(__s?.ToJson(null), __r.Add); } container.Add("http_proxy_whitelist", __r); } AddIf(null != InternalSubnet ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(InternalSubnet) : null, "internal_subnet", container.Add); AddIf(null != MasqueradingIp ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(MasqueradingIp) : null, "masquerading_ip", container.Add); AddIf(null != MasqueradingPort ? (Carbon.Json.JsonNode) new Carbon.Json.JsonNumber((int)MasqueradingPort) : null, "masquerading_port", container.Add); if (null != NameServerIpList) { var __m = new Carbon.Json.XNodeArray(); foreach (var __n in NameServerIpList) { AddIf(null != __n ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(__n) : null, __m.Add); } container.Add("name_server_ip_list", __m); } if (null != NfsSubnetWhitelist) { var __h = new Carbon.Json.XNodeArray(); foreach (var __i in NfsSubnetWhitelist) { AddIf(null != __i ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(__i) : null, __h.Add); } container.Add("nfs_subnet_whitelist", __h); } if (null != NtpServerIpList) { var __c = new Carbon.Json.XNodeArray(); foreach (var __d in NtpServerIpList) { AddIf(null != __d ? (Carbon.Json.JsonNode) new Carbon.Json.JsonString(__d) : null, __c.Add); } container.Add("ntp_server_ip_list", __c); } AddIf(null != SmtpServer ? (Carbon.Json.JsonNode)SmtpServer.ToJson(null) : null, "smtp_server", container.Add); AfterToJson(ref container); return(container); }
protected void loadView(AutoCSer.WebView.View view, AutoCSer.WebView.AjaxMethodInfo ajaxInfo) { DomainServer.LoadAjax(Socket, view); }
protected void loadView <viewType>(viewType view, AutoCSer.WebView.AjaxMethodInfo ajaxInfo) where viewType : AutoCSer.WebView.View <viewType> { DomainServer.LoadAjax <viewType>(Socket, view); }
protected void loadView(AutoCSer.WebView.View view, AutoCSer.WebView.AjaxMethodInfo ajaxInfo, bool isAsynchronous, bool isAwaitMethod) { view.SetAsynchronousAwaitMethod(isAsynchronous, isAwaitMethod); DomainServer.LoadAjax(Socket, view); }
private bool AuthUsrDomain(String domainName, String Path_LDAP) { IDomainServer domainServer = new DomainServer(domainName, Path_LDAP); return(domainServer.IsAuthenticated(usr.CemexId, PassWord)); }