webdav portal auth via ad
This commit is contained in:
parent
05d9fddb5d
commit
7dd090820b
56 changed files with 927 additions and 281 deletions
|
@ -4,7 +4,10 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.SessionState;
|
||||
using WebsitePanel.WebDavPortal.Cryptography;
|
||||
using WebsitePanel.WebDav.Core.Interfaces.Security;
|
||||
using WebsitePanel.WebDav.Core.Security;
|
||||
using WebsitePanel.WebDav.Core.Security.Authentication;
|
||||
using WebsitePanel.WebDav.Core.Security.Cryptography;
|
||||
using WebsitePanel.WebDavPortal.DependencyInjection.Providers;
|
||||
using WebsitePanel.WebDavPortal.Models;
|
||||
|
||||
|
@ -12,12 +15,12 @@ namespace WebsitePanel.WebDavPortal.DependencyInjection
|
|||
{
|
||||
public class PortalDependencies
|
||||
{
|
||||
public static void Configure(IKernel kernerl)
|
||||
public static void Configure(IKernel kernel)
|
||||
{
|
||||
kernerl.Bind<HttpSessionState>().ToProvider<HttpSessionStateProvider>();
|
||||
kernerl.Bind<IWebDavManager>().ToProvider<WebDavManagerProvider>();
|
||||
kernerl.Bind<AccountModel>().ToProvider<AccountInfoProvider>();
|
||||
kernerl.Bind<ICryptography>().To<CryptoUtils>();
|
||||
kernel.Bind<HttpSessionState>().ToProvider<HttpSessionStateProvider>();
|
||||
kernel.Bind<ICryptography>().To<CryptoUtils>();
|
||||
kernel.Bind<IAuthenticationService>().To<FormsAuthenticationService>();
|
||||
kernel.Bind<IWebDavManager>().ToProvider<WebDavManagerProvider>();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
using System.Web.SessionState;
|
||||
using Ninject;
|
||||
using Ninject.Activation;
|
||||
using WebsitePanel.WebDavPortal.Config;
|
||||
using WebsitePanel.WebDavPortal.Models;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.DependencyInjection.Providers
|
||||
{
|
||||
public class AccountInfoProvider : Provider<AccountModel>
|
||||
{
|
||||
protected override AccountModel CreateInstance(IContext context)
|
||||
{
|
||||
var session = context.Kernel.Get<HttpSessionState>();
|
||||
|
||||
AccountModel accountInfo = null;
|
||||
|
||||
if (session != null)
|
||||
{
|
||||
accountInfo = session[WebDavAppConfigManager.Instance.SessionKeys.AccountInfo] as AccountModel;
|
||||
}
|
||||
|
||||
return accountInfo;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,11 @@
|
|||
using System.Web.SessionState;
|
||||
using System.Net;
|
||||
using System.Web.SessionState;
|
||||
using Ninject;
|
||||
using Ninject.Activation;
|
||||
using WebsitePanel.WebDavPortal.Config;
|
||||
using WebsitePanel.WebDav.Core;
|
||||
using WebsitePanel.WebDav.Core.Config;
|
||||
using WebsitePanel.WebDav.Core.Security.Cryptography;
|
||||
using WebsitePanel.WebDavPortal.Exceptions;
|
||||
using WebsitePanel.WebDavPortal.Models;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.DependencyInjection.Providers
|
||||
|
@ -17,6 +21,15 @@ namespace WebsitePanel.WebDavPortal.DependencyInjection.Providers
|
|||
if (session != null)
|
||||
{
|
||||
webDavManager = session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] as WebDavManager;
|
||||
|
||||
if (webDavManager == null)
|
||||
{
|
||||
var cryptography = context.Kernel.Get<ICryptography>();
|
||||
|
||||
webDavManager = new WebDavManager(cryptography);
|
||||
|
||||
session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = webDavManager;
|
||||
}
|
||||
}
|
||||
|
||||
return webDavManager;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue