Browse Source

Handle to switch to host.

pull/192/head
Halil İbrahim Kalkan 9 years ago
parent
commit
58b7e40e7c
  1. 33
      src/AbpDesk/AbpDesk.Web.Mvc/Controllers/MultiTenancyController.cs

33
src/AbpDesk/AbpDesk.Web.Mvc/Controllers/MultiTenancyController.cs

@ -2,6 +2,8 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.Ui; using Volo.Abp.Ui;
@ -14,28 +16,37 @@ namespace AbpDesk.Web.Mvc.Controllers
public class MultiTenancyController : AbpController public class MultiTenancyController : AbpController
{ {
private readonly ITenantStore _tenantStore; private readonly ITenantStore _tenantStore;
private readonly AspNetCoreMultiTenancyOptions _options;
public MultiTenancyController(ITenantStore tenantStore) public MultiTenancyController(ITenantStore tenantStore, IOptions<AspNetCoreMultiTenancyOptions> options)
{ {
_tenantStore = tenantStore; _tenantStore = tenantStore;
_options = options.Value;
} }
public async Task<ActionResult> SwitchTenant(string tenant = "") public async Task<ActionResult> SwitchTenant(string tenant = "")
{ {
var tenantInfo = await FindTenantAsync(tenant); if (tenant.IsNullOrEmpty())
if (tenantInfo == null)
{ {
throw new UserFriendlyException("Unknown tenant: " + tenant); HttpContext.Response.Cookies.Delete(_options.TenantKey);
} }
else
HttpContext.Response.Cookies.Append( {
"__tenant", var tenantInfo = await FindTenantAsync(tenant);
tenantInfo.Id.ToString(), if (tenantInfo == null)
new CookieOptions
{ {
Expires = DateTimeOffset.Now.AddYears(1) throw new UserFriendlyException("Unknown tenant: " + tenant);
} }
);
HttpContext.Response.Cookies.Append(
_options.TenantKey,
tenantInfo.Id.ToString(),
new CookieOptions
{
Expires = DateTimeOffset.Now.AddYears(1)
}
);
}
return Redirect("/"); return Redirect("/");
} }

Loading…
Cancel
Save